

この記事で分かること
- C言語の「コンパイル」の意味が分かる
- レンタルサーバーで「コンパイル」する手順が分かる
- GCCの「コンパイル」のオプションが分かる
C言語プログラムをlinuxでコンパイルする概要
ここでは、自分で作ったC言語プログラムをlinuxサーバーを使ってコンパイルする手順を説明します。
「コンパイルする」とは、C言語などの人間が理解できる言語を、機械が認識できる言語に翻訳することです。コンパイル方法にはいくつかの種類がありますが、その違いについて本記事では具体例を使って説明します。
C言語プログラムをlinuxでコンパイルする前提環境
この記事では、「linux CentOS 5.5」の環境で、C言語を実行する方法を説明します。
現在多くのレンタルサーバはlinuxサーバですが、レンタルサーバを使っている場合は、下の記事でプログラミングする環境の作り方を説明しています。
もし、まだプログラムする環境ができていない方は、先にこちらの記事を読んで、プログラミングできる環境をつくることをおすすめします。
-
-
レンタルサーバでプログラミングする方法【→ブログのサーバでできる!】
続きを見る
次に、CentOSのバージョンと、C言語コンパイラのバージョンを確認します。
コンパイラとは、プログラムを機械が認識できる言語にコンパイル(翻訳)するツールのことです。
- CentOS 5.5
CentOSのバージョンは「5.5」でした。
$ cat /etc/redhat-release
CentOS release 5.5 (Final)
- gcc
linuxのC言語コンパイラのGCCのバージョンを確認します。
GCCのバージョンは「4.1.2」でした。
$ gcc -v
Using built-in specs.
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --disable-plugin --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic --host=x86_64-redhat-linux
Thread model: posix
gcc version 4.1.2 20080704 (Red Hat 4.1.2-55)
C言語プログラムをlinuxでコンパイルする具体例
ここでは、コンパイル方法を「オプションなし」「-c オプション」「-o オプション」「-c オプション 複数ファイル」「-o オプション .oファイルから実行ファイル生成」の5つのオプションについて紹介します。
C言語コンパイル方法1:オプションなし
コンパイル
$ gcc hello.c
オプションなしでGCCコンパイルを実施すると、a.outという名前の実行ファイルが生成されます。
実行
$ ./a.out
Hello World
a.outが実行を実行すると、「Hello World」の文字列が表示されました。これで、実行ファイルa.outが正しく実行できたことが分かります。
C言語コンパイル方法2:-c オプション
コンパイル
$ gcc -c hello.c
-cオプションを指定してコンパイルすると、オブジェクトファイルhello.oが生成されます。このオブジェクトファイルは、ソースコードから実行ファイルにコンパイルするまでに中間のファイルになります。
複数のファイルを1つの実行ファイルにコンパイルする時などに用いられます。
C言語コンパイル方法3:-o オプション
コンパイル
$ gcc hello.c -o HELLO
先ほど生成した、オブジェクトファイルhello.oをHELLOという実行ファイルにコンパイルします。-oオプションは生成される実行ファイルの実行ファイル名を指定することができます。
今回は、「HELLO」という名前を指定しました。
実行
$ ./HELLO
Hello World
HELLOが実行を実行すると、「Hello World」の文字列が表示されました。これで、実行ファイルHELLOが正しく実行できたことが分かります。
C言語コンパイル方法4:-c オプション 複数ファイル
コンパイル
$ gcc -c hello.c hello2.c
-cオプションを指定して複数のC言語ソースコードをオブジェクトファイルにすることが可能です。上記のような指定で、hello.c hello2.cにそれぞれ対応するhello.oとhello2.oが生成されました。
C言語コンパイル方法5:-o オプション .oファイルから実行ファイル生成
コンパイル
gcc -o HELLO2 hello2.o
先ほど生成した、オブジェクトファイルhello2.oをHELLO2という実行ファイルにコンパイルします。-oオプションは生成される実行ファイルの実行ファイル名を指定することができるので、
今回は、「HELLO2」という名前を指定しました。
実行
$ ./HELLO2
Hello World
先ほどと同様に、HELLO2が実行を実行すると、「Hello World」の文字列が表示されました。これで、実行ファイルHELLOが正しく実行できたことが分かります。
C言語プログラム実行の手順について
linux環境で、どのように自分で作ったC言語プログラムを実行の手順は、次の記事で説明しています。
-
-
【C言語】linuxでの開発環境の作り方【→プログラム初心者向け】
続きを見る