Predefined Macros (Windows CE 5.0)
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
Send Feedback on this topic to the authors