Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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