インテル(R) C++ コンパイラーで作成された C 言語オブジェクト・ファイルは、GNU* gcc* コンパイラーと glibc* (GNU C 言語ライブラリー) とバイナリー互換です。インテル・コンパイラーまたは gcc コンパイラーを使用して、オブジェクト・ファイルをリンカーに渡すことができます。しかし、リンカーにインテル・ライブラリーを正確に渡すには、インテル・コンパイラーを使用してください。
インテル C++ コンパイラーは、GNU C コンパイラー (gcc) および GNU C++ コンパイラー (g++*) が持つ言語拡張機能の多くを提供します。
GNU C には、ISO 標準 C にない、さまざまな非標準の機能が含まれています。本バージョンのインテル C++ コンパイラーは、多くの拡張機能をサポートします。次の表にリストを示します。詳細は、http://www.gnu.org/home.ja.html を参照してください。
gcc 言語拡張 | インテル サポート |
---|---|
Statements and Declarations in Expressions | ○ |
Locally Declared Labels | ○ |
Labels as Values | ○ |
Nested Functions | X |
Constructing Function Calls | X |
Naming an Expression's Type | ○ |
Referring to a Type with typeof | ○ |
Generalized Lvalues | ○ |
Conditionals with Omitted Operands | ○ |
Double-Word Integers | ○ |
Complex Numbers | ○ |
Hex Floats | ○ |
Arrays of Length Zero | ○ |
Arrays of Variable Length | ○ |
Macros with a Variable Number of Arguments. | ○ |
Slightly Looser Rules for Escaped Newlines | X |
String Literals with Embedded Newlines | ○ |
Non-Lvalue Arrays May Have Subscripts | ○ |
Arithmetic on void-Pointers | ○ |
Arithmetic on Function-Pointers | ○ |
Non-Constant Initializers | ○ |
Compound Literals | ○ |
Designated Initializers | ○ |
Cast to a Union Type | ○ |
Case Ranges | ○ |
Mixed Declarations and Code | ○ |
Declaring Attributes of Functions | ○ |
Attribute Syntax | ○ |
Prototypes and Old-Style Function Definitions | X |
C++ Style Comments | ○ |
Dollar Signs in Identifier Names | ○ |
ESC Character in Constants | ○ |
Specifying Attributes of Variables | ○ |
Specifying Attributes of Types | ○ |
Inquiring on Alignment of Types or Variables | ○ |
Inline Function is As Fast As a Macro | ○ |
Assembler Instructions with C Expression Operands | ○ |
Controlling Names Used in Assembler Code | ○ |
Variables in Specified Registers | ○ |
Alternate Keywords | ○ |
Incomplete enum Types | ○ |
Function Names as Strings | ○ |
Getting the Return or Frame Address of a Function | ○ |
Using Vector Instructions Through Built-in Functions | X |
Other built-in functions provided by GCC | ○ |
Built-in Functions Specific to Particular Target Machines | X |
Pragmas Accepted by GCC | X |
Unnamed struct/union fields within structs/unions | ○ |
GNU C++ には、ISO 標準 C にない、さまざまな非標準の機能が含まれています。本バージョンのインテル C++ コンパイラーは、多くの拡張機能をサポートします。次の表にリストを示します。詳細は、http://www.gnu.org/home.ja.html を参照してください。
g++ 言語拡張 | インテル サポート |
---|---|
Minimum and Maximum operators in C++ | ○ |
When is a Volatile Object Accessed? | X |
Restricting Pointer Aliasing | ○ |
Vague Linkage | ○ |
Declarations and Definitions in One Header | X |
Where's the Template? | extern テンプレートをサポート |
Extracting the function pointer from a bound pointer to member function | X |
C++-Specific Variable, Function, and Type Attributes | ○ |
Java Exceptions | X |
Deprecated Features | X |
Backwards Compatibility | X |
注
インテル C++ コンパイラーは、アセンブラー・コードが AT&T* System V/386 構文を使用する場合、gcc スタイルのインライン・アセンブリーをサポートします。