「オペレーティングシステム」演習 6

「オペレーティングシステム」演習 6
今日のテーマ:C 言語開発環境(gcc の使い方)
演習レポートの記載内容:
1. 演習の番号、問題文
2. C 言語のプログラムのソースリスト(エディタからコピーする)
3. 実行時の端末画面のコピー
4. 設問の番号と問題文及び解答(設問がある場合)
1. C 言語の開発環境
1.1 C コンパイラの使い方
Linux には、gcc という C 言語のコンパイラが標準で付いている。gcc の使い
方は以下の通りである。
gcc
[オプション]
ソースファイル
実行ファイル名を指定しない場合
(1) ソースファイルの作成
エディタで C 言語のソースファイルを作成し、ソースファイル名.c のよ
うに保存する。
(2) コンパイルとリンク
コマンドラインで以下のように入力する。
gcc
(3)
ソースファイル名.c
実行
コマンドラインで以下のように入力する
./a.out
例:
実行ファイル名
(1) ソースファイル:
#include <stdio.h>
int main()
{
1
printf(“Hello,world¥n”);
return 0;
}
これを“hello.c”というファイル名で保存する。
(2) コンパイルとリンク:
gcc hello.c
ここでは、出力の実行ファイル名は指定していないので、デフォルトの a.out がカレン
トディレクトリに作成される。
(3) 実行:
./a.out
「 ./ 」は「カレントディレクトリの下」という意味である。Linux では、通常カレント
ディレクトリにパスを通していないので、こうした指定方法になる。
実行ファイル名を指定する場合
コンパイル・コマンドで出力ファイル名を与えることもできる。コマンドライ
ンで
gcc –o 実行ファイル名.out ソースファイル名.c
のように入れると、カレントディレクトリの下に、「実行ファイル名.out」と
いう名前で実行ファイルが作成される。これを実行するには
./実行ファイル名.out
のようにコマンドラインから入力すれば良い。
例:
(1) ソースファイル:
hello.c
(2) コンパイルとリンク:
(3) 実行:
gcc –o hello.out hello.c
./hello.out
2
演習 5_1
以下の条件を満たす C 言語のプログラムを作成して、「gcc」コマンドで実行
ファイルを作成してください。プログラム実行して、動作を確認してください。
条件:
整数型配列変数 seiseki に、10 個の成績データ(16, 89, 45, 91, 67, 23, 69, 76,
90, 56)を格納し、最大値を検索して画面に表示する。
(保存ファイル名:enshu5_1.c)
ライブラリをリンクする
プログラムで数学関数(平方根:sqrt()や三角関数:sin()など)を使うときには、
以下のように、コマンドで数学ライブラリ math.h をリンクすることが必要で
ある。
gcc –o ソースファイル名.out 実行ファイル名.c -lm
例:
(1) ソースファイル:
#include <stdio.h>
#include <math.h>
int main()
{
double root;
root=sqrt(2);
printf(“root=%lf¥n”,root);
return 0;
}
これを“mathtest.c”というファイル名で保存する。
(2) コンパイルとリンク:
gcc –o mathtest.out mathtest.c -lm
ここでは、-lm を使って、数学ライブラリとリンクすることを指定した。
(3) 実行:
./mathtest.out
3
演習 5_2
以下の条件を満たす C 言語のプログラムを作成して、動作を確認してくださ
い。
条件:
for 文を用いて、
0 度から 90 度まで1度毎の sin 関数の値を画面に表示する。
(保存ファイル名:enshu5_2.c)
4