はじめての C

関数(ブロック)内部で静的変数を用いて 整数値に 1 を加えるプログラムを作成せよ。
分割コンパイルを使用すること。

まず モジュールを 2つ作成する。

  1. /* file : part.1.c */
  2. #include
  3. #include "head.1.h"
  4. test()
  5. {
  6. static int count = 0; /* 静的変数 */
  7. int i = 0;
  8. i++;
  9. count++;
  10. printf("i = %d, count = %d\n", i, count);
  11. return;
  12. }
  1. /* file : part.2.c */
  2. #include
  3. #include "head.1.h"
  4. main()
  5. {
  6. test();
  7. test();
  8. test();
  9. }

次に ヘッダーファイルを作成する。

  1. /* file : head.1.h */
  2. 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: 金山典世さん(稚内北星)のページ