JM プロジェクトは、主に Linux 関連のマニュアルページの日本語ページを翻訳・公開しています。
... CC (for version 2.0) を参照して下さい。この双方は Texinfo のソースファイル gcc.texinfo から生成されます。 解説 C と C++ のコンパイラは統合されています。どちらの場合も、入力ファイル は、プリプロセス、コンパイル、アセンブル、リンクの 4 つの処理ステージの うち ... テージを踏んで処理されます。 ソースファイル名の拡張子によってソースの言語を識別しますが、 デフォルトの動作は、どちらの名前でコンパイラを使うかに依存しています: gcc プリプロセス済みの ( .i ) ファイルを C のファイルと仮定し、C スタイルのリンクを行います。 g++ ... ファイル名の拡張子は、その言語が何であるかと、どのような処理が行われる べきかを示します: .c C言語ソースです。プリプロセッサ、コンパイラ、アセンブラにかけられます。 .C C++言語ソースです。プリプロセッサ、コンパイラ、アセンブラにかけられます。 .cc C++言語ソースで ... ... いなら、システム管理者か (もし知っているのなら) g77 をインストールした人に問題を解決するように頼んで下さい。 解説 C と F77 のコンパイラは統合されています。 g77 は Fortran (ANSI FORTRAN 77、F77 とも呼ばれます) で書かれたプログラムを 認識するためのオプションをつ ... ステージを踏んで処理されます。 このマニュアルには、一般的な目的のためのオプションのまとめもありますが、 完全な説明があるのはコンパイラの F77 に固有の面 だけ です。 コンパイラのより充実した説明が必要なときは、 gcc ( 1 ) を参照して下さい。 GNU Fortran の完全な ... ではデフォルトでない形式 のみを示します。 -c ソースファイルを、コンパイルまたはアセンブルまではしますが、リンクはしません。 コンパイラの出力は、それぞれのソースファイルに対応したオブジェクトファイル となります。 -D macro マクロ macro に対して文字列 ` 1 ' を定 ... ... -Wx,arg1 [ ,arg2 ]...] file ... 説明 fort77 スクリプトは f2c コマンドを透過的に起動するので、 このスクリプトは本物のFortranコンパイラのように使用することができる。 Fortran、C言語、アセンブラコードのコンパイル、およびf2cライブラリ とのリンクに使用できる。 末 ... ジェクトファイルに変換される。 ファイル名の末尾が .c , .C , .cc , .i , .s , .S , .m , .cc あるいは .cxx のファイルは直接GNU Cコンパイラに渡される。 gcc (1) を参照。 それ以外のすべてのファイルはリンカに渡される。 オプション -c リンクは行なわず、それぞれのソース ... .o )を作る。 -g デバッグ情報を含める。 -v 冗長モードにして詳細な情報を出力する; このオプションをふたつつけることによって、Cコンパイラなどの出力も冗長 モードにすることができる。 -k f2cによって生成されたCのファイルを残す。 -cpp ファイル名の末尾が .F で終ってい ... ... ことがあります。たとえば以下のようなものです: .type _Z1fv, @function オプション -_ --strip-underscore 一部のシステムでは、 C コンパイラと C++ コンパイラの両方で、すべての名前の前にアンダースコアが付けられます。. たとえば、C での名前 "foo" は、ローレベルの名前 ... 名をデコード (demangle) しようとします。これはデフォルトで無効になっています。なぜなら、エンコード (mangled) された型は通常、コンパイラの内部でのみ使用され、 非エンコード (non-mangled) の名前と混同される可能性があるからです。例えば、 "a" という名前の関数がエン ... ションの同義語です。 -R オプションは、 --recurse-limit オプションの同義語です。 -s format --format= format c++filt は、異なるコンパイラによって使用されるさまざまなエンコード (mangling) メソッドをデコードできます。このオプションの引数は、以下のように使用する方 ... ... lags] 説明 gsl-config は、 GSL を利用するプログラムをコンパイルおよびリンクの際に用いるべき、 コンパイラーフラグおよびリンカーフラグを定めるために利用するためのツールです。 また、 GSL では GNU autoconf 用の.m4 マクロを提供してい ... ムのリンクに必要となるリンカーフラグを、 cblas を含めずに表示します。 --cflags GSL プログラムをコンパイルするために必要となるコンパイラーフラグを表示します。 --prefix GSL のインストールプレフィックスを表示します。 関連項目 gtk-config (1), gnome-config (1) 著作 ... ... ... で動作できる。 コンパイルモード コンパイル モードの場合、 MODE-ARGS は 標準的なオブジェクトファイルを作成するために使われる コンパイラコマンドである。 これらの引き数は C コンパイラの名前で始まり、 オブジェクトファイルのみを作成するよう、 -c コンパイラフラグを ... 設定されていたとしても、 libtool は `.o' ファイルを作成する。 -o オプションが直接サポートされていないプラットフォーム上では (コンパイラによって作成されたオブジェクトファイルのロックと移動により) エミュレートを行う。 したがって、以下のような通常の構文を使うこと ... リや実行可能プログラムを作成するために、 オブジェクトファイル (ライブラリオブジェクトも含む) をリンクする。 MODE-ARGS は、C コンパイラがオブジェクトファイルから ( -o フラグにより) 出力ファイル OUTPUT-FILE を作成する ときに使用するコマンドで構成される。 以下の ... ... type の先頭からのオフセットを返す。 このマクロが有用なのは、 構造体を構成するフィールドのサイズは実装によって変化するし、 コンパイラによりフィールド間に挿入するパディングのバイト数も 違う可能性があるからである。 その結果、あるエレメントのオフセットは必ずし ... の エレメントのサイズの合計とはならない。 member がバイト境界に位置していない場合 (すなわち、ビットフィールドの場合) には、 コンパイラでエラーが発生する。 返り値 offsetof () は、指定された member の指定された type の中でのオフセットを、バイト単位で返す。 準拠 ... .h > #include < stdio.h > #include < stdlib.h > int main(void) { struct s { int i; char c; double d; char a[]; }; /* 出力はコンパイラ依存である */ printf("offsets: i=%zu; c=%zu; d=%zu a=%zu\n", offsetof(struct s, i), offsetof(struct s, c), offsetof(struct s ... ... 」の定義が提供されるようにすることができる。「デフォルト」が無効になるような状況は、個別のマクロが明示的に定義された場合や、コンパイラが「標準」モードのいずれか (例えば cc -std=c99 ) で起動された場合などである。他の個々のマクロが定義されず、コンパイラも「標準 ... fied flags include O_CREAT . Not all problems are detected, just some common cases. _FORTIFY_SOURCE が 1 に設定された場合、コンパイラの最適化レベルが 1 ( gcc -O1 ) かそれ以上であれば、規格に準拠するプログラムの振る舞いを 変化させないようなチェックが実行され ... かが失敗する可能性がある。 いくつかのチェックは (ヘッダーファイルに実装されたマクロのロジックにより) コンパイル時に実行でき、コンパイラの警告として表示される。他のチェックは実行時に行われ、チェックに失敗した場合には実行時エラーとなる。 このマクロを使用するには ... ... Wtraditional ] [ infile | - ] [ outfile | - ] 解説 C プリプロセッサは、 実際のコンパイルの前にプログラムを変換するために C コンパイラから自動的に利用される マクロプロセッサ です。 長い記述を簡略してマクロとして定義することができるため、 マクロプロセッサと呼 ... 制御をします。 ソースファイルと コンパイルされた中間ファイルとを組み合わせたり再アレンジしたりするプログラムを 用いる場合、 コンパイラにオリジナルのソースの何行目であるかを知らせるための、 行番号制御のプリプロセッサコマンドを利用できます。 C プリプロセッサは ... 行なうと支障のある場合が多いことがわかっています。 ほとんどの場合は、C プリプロセッサは明示的に実行する必要はありません。 C コンパイラが自動的に実行してくれるからです。しかしながら、 明示的にプリプロセッサを実行するのが有効なことが個々にはあります。 C プリプ ... 日本語の文書やマニュアルを配布している個人/プロジェクトへのリンクです。