C ユーザーズガイド

第 1 章 C コンパイラの紹介

本章では、C コンパイラとそのオペレーティング環境、準拠規格、コンパイラの構成、C 関連のプログラミングツールについて説明します。

オペレーティング環境

C 4.2 でサポートされるオペレーティング環境については、README ファイルを参照してください。

準拠規格

本コンパイラは、C プログラミング言語に関する米国規格の ANSI/ISO 9899-1990 (ISO/IEC 9899:1990)、および FIPS 160 に準拠しています。このコンパイラは従来の K&R C もサポートしており、ANSI C への移行が容易に行えます。

日本語化について

本コンパイラからのエラー、警告などのメッセージは、原則として日本語で出力されます。ただし、一部のメッセージは、技術上の制限のため英語で出力されますので、ご了承ください。

コンパイラの構成

C コンパイルシステムはコンパイラ、アセンブラ、およびリンカーから構成されます。cc コマンドは、コマンド行オプションで他の指定をしない限り、この 3 つの構成要素をそれぞれ自動的に起動します。

第 2 章「cc コンパイラオプション」では、cc コマンドで使用できるオプションについて説明しています。

図 1-1 に C コンパイルシステムの構成を示します。

図 1-1 C コンパイルシステムの構成

Graphic

表 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 コンパイラのオプティマイザ (最適化部) は冗長性の削除、オプションでレジスタの割り当て、命令のスケジュール、コードの再構成などを行います。最適化には複数のレベルがあり、希望のレベルを選択することによって、ユーザーのアプリケーションの速さとメモリーの使用状況の関係を最適に保つことができます。

C 関連のプログラミングツール

C プログラムの開発、保守、改良を行うときに役立つツールは多数あります。本書では、C にもっとも密接な 2 つのツール、cscopelint について説明します。他のツールはSolaris のリファレンスマニュアルやプログラミングに関するドキュメントおよび『プログラムのパフォーマンス解析』でも説明しています。また、ツールごとにマニュアルページが用意されています。