インテル® C++ コンパイラは、次のどちらの C コードにも対応できるよう設定できます。
このコンパイラは、デフォルトでは、ANSI/ISO 標準に制限されずに拡張を受け入れるように設定します。
インテル C++ コンパイラは、C 言語のコンパイルについて定めた ANSI/ISO 標準( ISO/IEC 9899:1990 )に準拠しています。ANSI/ISO 標準に準拠するためには、翻訳処理に要求する最低要件を満たしている必要があります。インテル C++ コンパイラは、翻訳処理に対してANSI/ISO の要求している最低要件をすべて満たしています。
C 言語の ANSI/ISO 標準に準拠するためには、コンパイラに所定の事前定義済みマクロが付属していなければなりません。次の表は、同標準に従ってインテル C++ コンパイラに組み込まれたマクロの一覧です。
コンパイラには、標準から要求される事前定義マクロのほかにも事前定義マクロをいくつか用意しています。
マクロ | 説明 |
---|---|
__cplusplus |
C++ 変換単位をコンパイルするときに、名前__cplusplusが定義されます。 |
__DATE__ | Mmm dd yyyy という形式の文字列リテラルとしてコンパイルの日付を表現します。 |
__FILE__ | コンパイルされるファイルの名前を表す文字列リテラル。 |
__LINE__ | 現在の行番号。 10進数の定数で表現します。 |
__STDC__ | C 変換単位をコンパイルするときに、名前 __STDC__ が定義されます。 |
__TIME__ | コンパイル時刻。hh:mm:ssという形式の文字列リテラルとして表現します。 |
-c99[-] オプションを使用することによって、このバージョンのインテル C++ コンパイラは、次のC99機能をサポートします。
注
-restrictオプションで、ANSI 標準規格で定義されたrestrict キーワードを認識します。 restrict キーワードでポインタを限定することによって、ポインタ経由でアクセスされるオブジェクトが、与えられたすコープ内では、当該ポインタのみによってアクセスされることを宣言できます。この宣言が正しい場合のみこの restrict キーワードを使用することが重要です。この場合、プログラムの正当性には影響を与えませんが、より良い最適化が可能になる場合があります。
これらの機能はサポートされていません。