gcc* との互換性

インテル® C++ コンパイラで作成された C 言語オブジェクト・ファイルは、GNU* gcc コンパイラと glibc (GNU C 言語ライブラリ) とバイナリ互換です。C 言語オブジェクト・ファイルは、インテル・コンパイラまたは gcc コンパイラのいずれかでリンクすることができます。しかし、リンカにインテル・ライブラリを正確に渡すには、インテル・コンパイラを使用してください。詳細は、「リンク」および「デフォルト・ライブラリ」を参照してください。

GNU C には、ISO 標準 C にない、さまざまな非標準の機能が含まれています。C 言語に対するこれらの拡張機能のいくつかは、このバージョンのインテル C++ コンパイラでサポートされています。詳細は、http://www.gnu.org/home.ja.html を参照してください。

gcc 言語拡張 インテル・コンパイラのサポート 説明と例
Statements and Declarations in Expressions サポート http://gcc.gnu.org/onlinedocs/gcc-3.2.1/gcc/
Statement-Exprs.html#Statement%20Exprs
Locally Declared Labels サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Local-Labels.html#Local%20Labels
Labels as Values サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Labels-as-Values.html#Labels%20as%20Values
Nested Functions 非サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Nested-Functions.html#Nested%20Functions
Constructing Function Calls 非サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Constructing-Calls.html#Constructing%20Calls
Naming an Expression's Type サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Naming-Types.html#Naming%20Types
Referring to a Type with typeof サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Typeof.html#Typeof
Generalized Lvalues サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Lvalues.html#Lvalues
Conditionals with Omitted Operands サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Conditionals.html#Conditionals
Double-Word Integers サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Long-Long.html#Long%20Long
Complex Numbers サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Complex.html#Complex
Hex Floats サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Hex-Floats.html#Hex%20Floats
Arrays of Length Zero サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Zero-Length.html#Zero%20Length
Arrays of Variable Length サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Variable-Length.html#Variable%20Length
Macros with a Variable Number of Arguments. サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Variadic-Macros.html#Variadic%20Macros
Slightly Looser Rules for Escaped Newlines 非サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Escaped-Newlines.html#Escaped%20Newlines
String Literals with Embedded Newlines サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Multi-line-Strings.html#Multi-line%20Strings
Non-Lvalue Arrays May Have Subscripts サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Subscripting.html#Subscripting
Arithmetic on void-Pointers サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Pointer-Arith.html#Pointer%20Arith
Arithmetic on Function-Pointers サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Pointer-Arith.html#Pointer%20Arith
Non-Constant Initializers サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Initializers.html#Initializers
Compound Literals サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Compound-Literals.html#Compound%20Literals
Designated Initializers サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Designated-Inits.html#Designated%20Inits
Cast to a Union Type サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Cast-to-Union.html#Cast%20to%20Union
Case Ranges サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Case-Ranges.html#Case%20Ranges
Mixed Declarations and Code サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Mixed-Declarations.html#Mixed%20Declarations
Declaring Attributes of Functions ほぼサポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Function-Attributes.html#Function%20Attributes
Attribute Syntax サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Attribute-Syntax.html#Attribute%20Syntax
Prototypes and Old-Style Function Definitions 非サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Function-Prototypes.html#Function%20Prototypes
C++ Style Comments サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
C---Comments.html#C++%20Comments
Dollar Signs in Identifier Names サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Dollar-Signs.html#Dollar%20Signs
The Character ESC in Constants サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Character-Escapes.html#Character%20Escapes
Specifying Attributes of Variables ほぼサポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Variable-Attributes.html#Variable%20Attributes
Specifying Attributes of Types ほぼサポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Type-Attributes.html#Type%20Attributes
Inquiring on Alignment of Types or Variables サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Alignment.html#Alignment
An Inline Function is As Fast As a Macro サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Inline.html#Inline
Assembler Instructions with C Expression Operands サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Extended-Asm.html#Extended%20Asm
Controlling Names Used in Assembler Code サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Asm-Labels.html#Asm%20Labels
Variables in Specified Registers サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Explicit-Reg-Vars.html#Explicit%20Reg%20Vars
Alternate Keywords サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Alternate-Keywords.html#Alternate%20Keywords
Incomplete enum Types サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Incomplete-Enums.html#Incomplete%20Enums
Function Names as Strings サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Function-Names.html#Function%20Names
Getting the Return or Frame Address of a Function サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Return-Address.html#Return%20Address
Using Vector Instructions Through Built-in Functions いくつかサポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Vector-Extensions.html#Vector%20Extensions
Other built-in functions provided by GCC ほぼサポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Other-Builtins.html#Other%20Builtins
Built-in Functions Specific to Particular Target Machines 非サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Target-Builtins.html#Target%20Builtins
Pragmas Accepted by GCC 非サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Pragmas.html#Pragmas
Unnamed struct/union fields within structs/unions サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Unnamed-Fields.html#Unnamed%20Fields
Minimum and Maximum operators in C++ サポート http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/
Min-and-Max.html#Min%20and%20Max
When is a Volatile Object Accessed? 非サポート http://gcc.gnu.org/onlinedocs/gcc-3.2.1/gcc/ Volatiles.html#Volatiles
Restricting Pointer Aliasing サポート http://gcc.gnu.org/onlinedocs/gcc-3.2.1/gcc/
Restricted-Pointers.html#Restricted%20Pointers
Vague Linkage サポート http://gcc.gnu.org/onlinedocs/gcc-3.2.1/gcc/
Vague-Linkage.html#Vague%20Linkage
Declarations and Definitions in One Header 非サポート http://gcc.gnu.org/onlinedocs/gcc-3.2.1/gcc/
C---Interface.html#C++%20Interface
Where's the Template? extern テンプレートをサポート http://gcc.gnu.org/onlinedocs/gcc-3.2.1/gcc/
Template-Instantiation.html#Template%20Instantiation
Extracting the function pointer from a bound pointer to member function 非サポート http://gcc.gnu.org/onlinedocs/gcc-3.2.1/gcc/
Bound-member-functions.html#Bound%20member%20functions
C++-Specific Variable, Function, and Type Attributes サポート http://gcc.gnu.org/onlinedocs/gcc-3.2.1/gcc/
C---Attributes.html#C++%20Attributes
Java Exceptions 非サポート http://gcc.gnu.org/onlinedocs/gcc-3.2.1/gcc/
Java-Exceptions.html#Java%20Exceptions
Deprecated Features 非サポート http://gcc.gnu.org/onlinedocs/gcc-3.2.1/gcc/
Deprecated-Features.html#Deprecated%20Features
Backwards Compatibility 非サポート http://gcc.gnu.org/onlinedocs/gcc-3.2.1/gcc/
Backwards-Compatibility.html#Backwards%20Compatibility

インテル C++ コンパイラは、http://www.gnu.org/software/binutils/manual/gas-2.9.1/html_chapter/as_16.html の gcc ドキュメンテーションで定義されているように、アセンブラ・コードが AT&T* System V/386 構文を使用する場合、gcc* スタイルのインライン・アセンブリをサポートします。