Linux等のコンソール上でのCプログラムのgccによるコンパイルと実行

目次

1  Linux等のコンソール上でのCプログラムの gcc によるコンパイルと実行

Linux等の環境で、主として端末(コンソール)ウィンドウを使ってC言語およびC++言語のプログラムを入力・実行する方法を示す。

1.1 入力・編集・保存

C言語のソースファイルは、コンソール内なら vi エディタなど、デスクトップ上なら gedit などのテキストファイルエディタを立ち上げ、C言語のソースファイルを入力・編集・保存する。

ソースファイルの名前を「なんとか.c」の形 (つまり拡張子が c) とする。

C++の場合は、ソースファイルの名前として「なんとか.cpp」の形 (つまり拡張子が cpp) などが使われる。

1.2 コンパイルと実行

Linux環境では、端末(コンソール)ウィンドウを開き、そこにコマンドを入れることによって、Cプログラムのコンパイルと実行を行う。

例えば、Cのソースファイルが「プログラム.c」という名前だとすると、

gcc   -Wall   -o  プログラム   プログラム.c

というコマンドによって、ソースファイル「プログラム.c」がコンパイルされ、実行ファイル「プログラム」が生成される。
※ -Wall オプションは警告(warning)を表示させるもので必須ではないが、バグを見つけるのに有効な場合もあるので指定しておくとよい。

エラーが出たときは、入力・編集・保存に戻る。

エラーが出ず、実行ファイル「プログラム」(カレントディレクトリにあるとする) が正しく生成された場合、それを実行するには

./プログラム

のように、頭に ./ をつけてコマンド入力すればよい。

./プログラム   >   出力ファイル名

とすると、出力を指定したファイルにリダイレクトできる。

1.3 C++ソースのコンパイル

C++で書いたプログラムもCと同様にコンパイル・実行できるが、コンパイルのコマンドが g++ になる。

例えば、C++のソースファイルが「プログラム.cpp」という名前だとすると、

g++   -Wall   -o  プログラム   プログラム.cpp

というコマンドによって、ソースファイル「プログラム.cpp」がコンパイルされ、実行ファイル「プログラム」が生成される。

なお、C++11, C++14 等の新しい機能を使っているソースのコンパイルには

g++  -Wall -std=c++11  -o プログラム   プログラム.cpp

のように、-std=c++11, -std=c++14 等のオプションを指定しなければならない場合がある。指定すべきオプションは使用中のGCCによって異なる可能性がある。