Share via


Predefined Macros (Windows CE 5.0)

Send Feedback

Windows CE compilers recognize seven predefined ANSI C macros and the Microsoft C++ implementation provides several more.

These macros take no arguments and cannot be redefined. Their value, except for __LINE__ and __FILE__, must be constant throughout compilation.

The following table provides additional information about predefined macros, some of which are defined with multiple values.

Macro Description
__DATE__ The compilation date of the current source file.

The date is a string literal of the form Mmm dd yyyy.

__FILE__ The name of the current source file. __FILE__ expands to a string surrounded by double quotation marks.
__FUNCTION__ Valid only within a function and returns the undecorated name of the enclosing function (as a string).

__FUNCTION__ is not expanded if you use /EP or /P compiler options.

__LINE__ The line number in the current source file.

The line number is a decimal integer constant. It can be altered with a #line directive.

__STDC__ Indicates full conformance with the ANSI C standard.

Defined as the integer constant 1 only if the /Za compiler option is given and you are not compiling C++ code; otherwise is undefined.

__TIME__ The most recent compilation time of the current source file.

The time is a string literal of the form hh:mm:ss.

__TIMESTAMP__ The date and time of the last modification of the current source file, expressed as a string literal in the form Ddd Mmm Date hh:mm:ss yyyy, where Ddd is the abbreviated day of the week and Date is an integer from 1 to 31.

The following table shows additional predefined macros that are Microsoft-specific.

Macro Description
_CHAR_UNSIGNED Default char type is unsigned.

Defined when /J is specified.

__cplusplus Defined for C++ programs only.
_CPPRTTI Defined for code compiled with /GR - Enable Run-Time Type Information).
_CPPUNWIND Defined for code compiled with /GX - Enable Exception Handling.
_DLL Defined when /MD or /MDd - Multithread DLL is specified.
_M_ALPHA Defined for DEC ALPHA platforms.

It is defined as 1 by the ALPHA compiler, and it is not defined if another compiler is used.

_M_IX86 Defined for x86 processors.
_MFC_VER Defines the MFC version.

Defined as 0x0600 for Microsoft Foundation Class Library 6.0 or later.

Always defined.

_MSC_EXTENSIONS This macro is defined when compiling with the /Ze compiler option (the default).

Its value, when defined, is 1.

_MSC_VER Defines the compiler version.

Defined as 1200 for Microsoft Visual C++ 6.0 or later.

Always defined.

_MT Defined when /MD, /MDd - Multithreaded DLL, /MT, or /MTd - Multithreaded is specified.
_WIN32 Defined for applications for Win32.

Always defined.

See Also

Windows CE Compiler Overview

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.