Microsoft Extensions to C

HomeOverviewHow Do ICompiler Options

The following are Microsoft extensions to the ANSI C standard:

Keywords

The keywords __based, __cdecl, __declspec, __except, __fastcall, __finally, __leave, __stdcall, and __try are Microsoft-specific.

Casts

The Microsoft compiler supports the following two non-ANSI casts:

Variable-Length Argument Lists

The Microsoft compiler supports use of a function declarator that specifies a variable number of arguments, followed by a function definition that provides a type instead:

void myfunc( int x, ... );
void myfunc( int x, char * c )
{ }

Single-Line Comments

The Microsoft C compiler supports single-line comments, which are introduced with two forward slash (//) characters:

// This is a single-line comment.

Scope

The Microsoft C compiler supports the following scope-related features:

Data Declarations and Definitions

The Microsoft C compiler supports the following data declaration and definition features:

Intrinsic Floating-Point Functions

The Microsoft compiler supports inline generation of the x86 Specific —> atan, atan2, cos, exp, log, log10, sin, sqrt, and tan functions END x86 Specific when the Generate Intrinsic Functions (/Oi) option is specified. For C, ANSI conformance is lost when these intrinsics are used, because they do not set the errno variable.