Standard pre-processor symbols
The C preprocessor defines the following macro names:
- The date of translation of the program unit. This expands to a
string constant of the form "Mmm dd yy".
- The name of the current source file. __FILE__ expands to a string constant.
- The line number of the current source line in the current source file. __LINE__ expands
to an integer constant.
- 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.
- The integer constant 0 as CrossWorks C is not a hosted implementation.
The integer constant 1 denotes that the implementation is a hosted implementation.
- 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.
- 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.
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.
__AVR_XMEGA defined to 1.
__AVR_FLASH_SIZE defined to 8
__AVR_FLASH_SIZE defined to 128
__AVR_FLASH_SIZE defined to 8192