C コンパイルシステムはコンパイラ、アセンブラ、およびリンカーから構成されます。cc コマンドは、コマンド行オプションで他の指定をしない限り、この 3 つの構成要素をそれぞれ自動的に起動します。
第 2 章「cc コンパイラオプション」では、cc コマンドで使用できるオプションについて説明しています。
図 1-1 に C コンパイルシステムの構成を示します。
表 1-1 は、構成要素の要約を示しています。
表 1-1 C コンパイラシステムの構成要素
構成要素 |
説明 |
使用するコマンド |
---|---|---|
cpp |
プリプロセッサ (前処理系) | -Xs |
acomp |
コンパイラ (-Xs 以外のモードではプリプロセッサが組み込まれている) |
|
iropt |
コードオプティマイザ (最適化部) |
(SPARC) -O、 -xO [2-5]、-fast |
cg386 |
中間言語への翻訳 |
(x86) 常に稼働 |
inline |
アセンブリ言語テンプレートのインライン展開 |
.il ファイルを指定 |
mwinline |
関数の自動インライン展開 |
(x86) -xO4、-xinline |
fbe |
アセンブラ |
|
cg |
コード生成、インライン機能、アセンブラ |
(SPARC) |
codegen |
コード生成 |
(x86) |
ld |
リンカー |
|
ild |
インクリメンタルリンカー |
(SPARC) -g、 -xildon |
C コンパイラのオプティマイザ (最適化部) は冗長性の削除、オプションでレジスタの割り当て、命令のスケジュール、コードの再構成などを行います。最適化には複数のレベルがあり、希望のレベルを選択することによって、ユーザーのアプリケーションの速さとメモリーの使用状況の関係を最適に保つことができます。