C++ ユーザーズガイド

コンパイラの構成

C++ コンパイラパッケージは、フロントエンド (CC コマンド本体)、オプティマイザ (最適化)、コードジェネレータ (コード生成)、アセンブラ、テンプレートのプリリンカー (リンクの前処理をするプログラム)、リンクエディタから構成されています。CC コマンドは、これらの構成要素をそれぞれ自動的に起動します。ただしユーザーがコマンド行オプションを使用して自動起動以外のことを指定する場合を除きます。図 2-1 に C++ コンパイルの流れを示します。

これらの構成要素はいずれもエラーを生成する可能性があり、構成要素はそれぞれ異なる処理を行うため、エラーを生成した構成要素を識別することがエラーの解決に役立つことがあります。

図 2-1 コンパイルの流れ

Graphic

次の表に示すように、コンパイラの構成要素への入力ファイルには異なるファイル名接尾辞が付いています。どのようなコンパイルを行うかは、この接尾辞で決まります。ファイル接尾辞の意味については、表 2-1を参照してください。

表 2-2 C++ コンパイルシステムの構成要素

構成要素 

内容 

使用時の注意 

ccfe

フロントエンド (コンパイラプリプロセッサ (前処理系) とコンパイラ) 

 

iropt

コードオプティマイザ (最適化) 

(SPARC) -xO[2-5]、-fast

cg386

中間言語トランスレータ 

(x86) 必ず起動

inline

アセンブリ言語テンプレートのインライン展開 

(SPARC) .il ファイルを指定

mwinline

関数の自動的なインライン展開 

(x86) -xO4-xinline

fbe

アセンブラ 

 

cg

コード生成、インライン機能、アセンブラ 

(SPARC)

codegen

コード生成 

(x86)

cc_link

テンプレートのリンクの前処理 

 

ld

従来のリンクエディタ 

 

ild

インクリメンタルリンクエディタ 

-g、-xildon