Standard pre-processor symbols
The C preprocessor defines the following macro names:
-
__DATE__
- The date of translation of the program unit. This expands to a
string constant of the form "Mmm dd yy".
-
__FILE__
- The name of the current source file. __FILE__ expands to a string constant.
-
__LINE__
- The line number of the current source line in the current source file. __LINE__ expands
to an integer constant.
-
__STDC__
- The integer constant 1 as CrossWorks C conforms to the ISO/IEC 9899
standard. The integer constant 0 denotes that the implementation does not conform
to the relevant standard.
-
__STDC_HOSTED__
- The integer constant 0 as CrossWorks C is not a hosted implementation.
The integer constant 1 denotes that the implementation is a hosted implementation.
-
__STDC_VERSION__
- The integer constant 199409L as CrossWorks C conforms
to ISO/IEC 9899:1990 with the changes required by ISO/IEC 9899/AMD1:1995. For
standard C compilers conforming to ISO/IEC 9899:1999, this constant is 199901L.
-
__TIME__
- The time of translation of the program unit. This expands to a string constant
of the form "hh:mm:ss".
The following macro names are not defined by CrossWorks C as
the implementation is still in the process of being upgraded to the 1999 standard.
-
__STDC_IEC_599__
-
__STDC_IEC_599_COMPLEX__
-
__STDC_ISO_10646__
Architecture-dependent pre-processor symbols
The following symbols are set by the compiler (and, in fact, the assembler also)
so that you can conditionally-compile your code.
-mxmega
-
__AVR_XMEGA defined to 1.
-m8k
-
__AVR_FLASH_SIZE defined to 8
-m128k
-
__AVR_FLASH_SIZE defined to 128
-m8m
-
__AVR_FLASH_SIZE defined to 8192
-mboot
-
__AVR_BOOTLOADER defined.
-msd