トップ 開発環境 gcc

gcc(コンパイラ)

このページでは、gcc(コンパイラ)について紹介しています。

gccとは

gccは、オープンソースのコンパイラです。主にUNIXで利用されています。 gcc自信はさまざまなプラットフォームへ移植されており、Windows上でも使用することができます。 gccは、C言語用のコンパイラとして登場しましたが、現在はC++やJavaなどさまざまなプログラミング言語に対応しています。

コンパイルの仕方

gccコマンドの使い方

gccコマンドを使って、プログラムをコンパイルするにはコマンドラインから次のように実行します。

gcc [オプション] ソースファイル名

コンパイラオプション

以下に代表的なコンパイラオプションを紹介します。

表 gccの代表的なコマンドラインオプション
オプション 説明
-ansi ANSI C準拠の機能のみ有効にする。
-c コンパイルを行う(リンクはしない)。
-D<シンボル> <シンボル>を定義した状態でプリプロセスを行う。コード中に「#define <シンボル>」と書くのと同じ。
-D<シンボル>=<値> <シンボル>を<値>に定義した状態でプリプロセスを行う。コード中に「#define <シンボル> <値>」と書くのと同じ。
-E プリプロセス結果を標準出力へ書き出す
-g プログラムをデバッグ情報付きでコンパイルする。gdbなどのデバッガでデバッグするときに必要。
-l<パス> プリプロセッサのヘッダファイル検索パスに<パス>を追加する。
-L<パス> リンカのライブラリ検索パスに<パス>を追加する。
-o 実行ファイル名、オブジェクトファイル名、アセンブラファイル名、プリプロセス結果ファイル名を指定する
-P -Eオプション使用時にライン番号を生成しない
-S アセンブラコードを出力する
-shared このオプション以降に指示したライブラリは共有ライブラリであることを指示する。 (-staticオプションと-lオプションも参考にしてください)
-static このオプション以降に指示したライブラリは静的ライブラリであることを指示する。 (-sharedオプションと-lオプションも参考にしてください)
-Wall 一般的な警告を行う。このオプションは常に付けておくことを推奨する。

gccの使用例

共有ライブラリを作成&使用する方法

まず、ライブラリとしてhello.cというソースを用意し、その中身は以下のようにする。

#include <stdio.h>

 void hello() {
     printf("Hello World!!\n");
 }

共有ライブラリを作るには以下のコマンドでコンパイルする。

$ gcc -shared hello.c -o libhello.so

これで共有ライブラリlibhello.soができあがった。 テストのためにこれを呼び出すプログラムtest.cを以下のように書く。

#include <stdio.h>

 int main(void) {
     hello();
     return 0;
 }

これをコンパイルするには
gcc test.c -o test ./libhello.so
とすればよい。

実行すると
$ ./test
Hello World !!
と表示されるはず。もしlibhello.soを削除したり移動したりするとエラーが出る。

戻る

スポンサーリンク

サイト内のページ

言語
C・C++ /HTML /Java /JavaScript /PHP /シェルスクリプト

開発環境
Ant /Bcc /Eclipse /gcc /gdb /g++ /JDK /JUnit /ZAP

技術・仕様
Ajax /CORBA /Java EE(旧称J2EE) /JNI

ライブラリ/Framework/CMS
jQuery /Lucene /MyBatis /RESTEasy /Spring /Struts /Seasar2 /WordPress

ITインフラ OSとミドルウェア
Linux /Windows /シェル
Apache/Tomcat /MySQL /Redis /Solr /vsftpd

ITインフラ PC 製品
ZOTAC

ITインフラ サーバー
Web公開サーバー構築

ITインフラ ネットワーク
プログラミング /機器 /構築

ITインフラ セキュリティ
公開サーバーのセキュリティ

SI
ホームページの作り方 /小さな会社のISMS

その他
IT用語 /ITスキル体系 /トレンド履歴

スポンサーリンク