まず、Cで計算をやらせてみましょう。 以下に、簡単な計算を実行させるプログラム(test2.c)を示します。 ここでは便宜上、行番号をつけてありますが、 実際には打ち込む必要は全くありません。
-----------------------1: /* program "test2.c" --- 単振動(振り子) */ 2: 3: #include <stdio.h> 4: #include <math.h> 5: /* ** 共通変数の定義 ** */ 6: double g = 9.8; /* 重力加速度 */ 7: double pai = 3.1416; /* 円周率 */ 8: 9: void main(void) 10: { /* ** 変数の定義(main()内だけで有効) ** */ 11: int n; 12: double x,y; 13: double w; /* 角振動数 */ 14: double range = 0.2; /* 振幅 */ 15: double l = 0.5; /* 振り子の長さ */ 16: 17: w = sqrt( g / l ); /* sqrt(x) : x の平方根 */ 18: x = 0.1; 19: for( n = 1; n <= 10; n++ ){ 20: y = range * sin( w * x * n ); /* sin(x) : x の正弦 */ 21: printf(" x = %lf , y = %lf \n", x * n, y); 22: } 23: }-----------------------
このプログラムのコンパイルは、以下のようにして行います。
-----------------------gcc -o test2 test2.c -lm-----------------------
ここで、プログラムを作成・コンパイルする際に注意することは以下の通りです。
sin(), cos(), sqrt() などの数学関数を使う場合は、 math.h というファイルをインクルードする必要があります。 この中には、これらの数学関数を使用する際に 必要となる定義や宣言が書かれてあります。
-lm
)。
これらの数学関数は、libm.a という名前のライブラリファイルに含まれています。 そこで、これらの関数を使用するプログラムの実行ファイルを作るためには、 このライブラリをリンクする必要があります。
ライブラリの名前を指定するコンパイルオプションは-l
で、 ライブラリファイル名は、一般に lib*.a と表現されるうちの、 * にあたる部分の文字列を指定します。