はじめての C
関数(ブロック)内部で静的変数を用いて 整数値に 1 を加えるプログラムを作成せよ。
分割コンパイルを使用すること。
まず モジュールを 2つ作成する。
- /* file : part.1.c */
- #include
- #include "head.1.h"
- test()
- {
- static int count = 0; /* 静的変数 */
- int i = 0;
- i++;
- count++;
- printf("i = %d, count = %d\n", i, count);
- return;
- }
- /* file : part.2.c */
- #include
- #include "head.1.h"
- main()
- {
- test();
- test();
- test();
- }
次に ヘッダーファイルを作成する。
- /* file : head.1.h */
- int test(void); /* 今回は 関数の宣言のみ */
モジュール毎に コンパイル - オブジェクトファイルを作成。
$cc -c part.1.c
$cc -c part.2.c
$ls -t
( part.1.o, part.2.o というオブジェクトファイルが作成されている)
最後に 2つのオブジェクトと 標準ライブラリとのリンクを行う。
$cc -o finish part.1.o part.2.o
これで finish という実行ファイルができるはず。
(最初に ヘッダーファイルをつくったほうが よかったのかな ?)
text: 金山典世さん(稚内北星)のページ