The compiler predefines certain global identifiers, known as manifest constants. Most global identifiers begin and end with two underscores (__).
Macro |
Value |
Description |
__BCOPT__ |
1 |
Defined only in compilers that support optimization, therefore always defined. |
__BCPLUSPLUS__ |
|
Defined if you've selected C++ compilation; will increase in later releases. |
__BOOL__ |
1 |
Indicates that the bool keyword is accepted. |
__BORLANDC__ |
|
Version number. |
__CDECL__ |
1 |
Defined if Calling Convention is set to cdecl; otherwise undefined. |
_CHAR_UNSIGNED |
1 |
Undefined by default. Using the -K switch to make the default character unsigned causes this macro to be defined. Ultimately, the -K option controls how a char is extended when converted to an int. By default, the compiler sign-extends, but if you enable _CHAR_UNSIGNED_, then the compiler zero-extends characters when converting to int. |
__CODEGEARC__ |
0x0610 for C++Builder 2009 |
Version number. |
__CODEGUARD__ |
|
Defined whenever one of the CodeGuard compiler options is used; otherwise it is undefined. |
__CONSOLE__ |
1 |
When defined, the macro indicates that the program is a console application. |
_CPPUNWIND |
1 |
Enable stack unwinding. This is true by default; use -xd-!ALink(OSCGExceptions1) to disable. |
__cplusplus |
1 |
Defined if in C++ mode; otherwise, undefined. |
__DATE__ |
String literal |
Date when processing began on the current file. |
__DLL__ |
1 |
Defined whenever the -WD compiler option is used; otherwise it is undefined. |
__FILE__ |
String literal |
Name of the current file being processed. |
__FLAT__ |
1 |
Defined when compiling in 32-bit flat memory model. |
__FUNC__ |
String literal |
Name of the current function being processed. More details. |
__LINE__ |
Decimal constant |
Number of the current source file line being processed. |
_M_IX86 |
0x12c |
Always defined. The default value is 300. You can change the value to 400 or 500 by using the /4 or /5 compiler options. |
__MT__ |
1 |
Defined only if the -tWM option is used. It specifies that the multithread library is to be linked. |
__PASCAL__ |
1 |
Defined if Calling Convention is set to Pascal; otherwise undefined. |
_PUSHPOP_SUPPORTED |
1 |
Always defined; allows Microsoft standard headers to use push and pop to verify whether a feature is supported. |
_STDCALL_SUPPORTED |
1 |
Always defined; defines the Microsoft stdcall calling convention. |
__STDC__ |
1 |
Defined if you compile with the -A compiler option; otherwise, it is undefined. |
__TCPLUSPLUS__ |
0x0570 0x0610 for C++Builder 2009 |
Version number. |
__TEMPLATES__ |
1 |
Defined as 1 for C++ files (meaning that templates are supported); otherwise, it is undefined. |
__TIME__ |
String literal |
Time when processing began on the current file. |
__TLS__ |
1 |
Thread Local Storage. Always true. |
__TURBOC__ |
|
Will increase in later releases. |
_WCHAR_T |
|
Defined only for C++ programs to indicate that wchar_t is an intrinsically defined data type. |
_WCHAR_T_DEFINED |
|
Defined only for C++ programs to indicate that wchar_t is an intrinsically defined data type. |
_Windows |
1 |
Defined when compiling on the Windows platform. |
__WIN32__ |
1 |
Defined for console and GUI applications on the Windows platform. |
Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
|
What do you think about this topic? Send feedback!
|