入力ファイルのタイプ

コンパイラーは、ソース・ファイルを現れた順に処理します。 コンパイラーは指定されたソース・ファイルが見つけからないと、エラー・メッセージを出し、次に指定されたファイルへ進みます。 しかし、リンケージ・エディターは実行されず、一時オブジェクト・ファイルは除去されます。

プログラムは、幾つかのソース・ファイルで構成することができます。 これらのすべてのソース・ファイルは、コンパイラーを 1 回呼び出すだけで一度にコンパイルすることができます。コンパイラーの 1 回の呼び出しを使用して複数のソース・ファイルをコンパイルすることができますが、1 回の呼び出しに対してコマンド行に指定できるコンパイラー・オプションは 1 セットのみとなります。 異なるコマンド行コンパイラー・オプションをそれぞれ指定したい場合は、 個別に呼び出す必要があります。

コンパイラーはデフォルトで、指定されたすべてのソース・ファイルをプリプロセスしてコンパイルします。通常このデフォルトを使用しますが、-E または -P オプションのいずれかを指定すると、コンパイルを行わずにコンパイラーを使用してソース・ファイルをプリプロセスすることができます。-P オプションを指定した場合は、 プリプロセスされたソース・ファイル、file_name .i が作成され、処理は終了します。

-E オプションは、ソース・ファイルをプリプロセスし、 標準出力へ書き込み、出力ファイルを生成せずに処理を停止します。

以下のタイプのファイルを XL C/C++ コンパイラーに入力することができます。

表 4. 有効な入力ファイルのタイプ
C および C++ ソース・ファイル これらは C または C++ ソース・コードを含むファイルです。

C コンパイラーを使用して C 言語ソース・ファイルをコンパイルするには、ソース・ファイルに .c (小文字の c) サフィックスを付ける必要があります (例えば、mysource.c)。

C++ コンパイラーを使用するためには、ソース・ファイルが .C (大文字の C)、.cc、.cp、.cpp、.cxx、または .c++ のサフィックスを持っている必要があります。 他のファイルを C++ ソース・ファイルとしてコンパイルするには、-+ コンパイラー・オプションを使用します。 このオプションを使用して指定され、.a、.o、.so、または .s 以外のサフィックスを持っているすべてのファイルは、C++ ソース・ファイルとしてコンパイルされます。

 

プリプロセスされたソース・ファイル プリプロセスされたソース・ファイルは .i サフィックスを持ちます (例えば、file_name.i)。 コンパイラーはプリプロセスされたソース・ファイル file_name.i を、.c または .C ファイルと同じ方法で再度プリプロセスされるコンパイラーに送信します。プリプロセスされたファイルは、マクロやプリプロセッサー・ディレクティブの検査に役立ちます。

 

オブジェクト・ファイル オブジェクト・ファイルは .o のサフィックスを持っていなければなりません (例えば、 file_name.o)。オブジェクト・ファイル、ライブラリー・ファイル、および非ストリップ実行可能ファイルはリンケージ・エディターの入力として使用できます。コンパイル後、リンケージ・エディターは実行可能ファイルを作成するために、指定されたすべてのオブジェクト・ファイルをリンクします。

 

アセンブラー・ファイル アセンブラー・ファイルは .s のサフィックスを持っていなければなりません (例えば、file_name.s)。 アセンブラー・ファイルは、オブジェクト・ファイルを作成するためにアセンブルされます。
Assembler-with-cpp アセンブラー・ファイルは .S のサフィックスを持っていなければなりません (例えば、file_name.S)。コンパイラーは .S の拡張子を持つすべてのソース・ファイルを、プリプロセッシングを必要とするアセンブラー言語のソース・ファイルであるかのようにコンパイルします。
共用ライブラリー・ファイル 共用ライブラリー・ファイルは .so のサフィックスを持っていなければなりません (例えば、file_name.so)。

 

ストリップされていない実行可能ファイル Linuxstrip コマンドを使用してストリップされていない executable and linking format (ELF) ファイルは、コンパイラーへの入力として使用できます。

関連情報