Atmel CAVR-4 ユーザーズマニュアル
CAVR-4
Part 2. Compiler reference
The preprocessor
233
_Pragma()
The preprocessor operator
_Pragma
can be used in defines and has the equivalent effect
of the
#pragma
directive. The syntax is:
_Pragma("string")
where
string
follows the syntax for the corresponding pragma directive. For example:
#if NO_OPTIMIZE
#define NOOPT _Pragma("optimize=2")
#else
#define NOOPT
#endif
See the chapter Pragma directives.
Note: The
-e
option—enable language extensions—is not required.
_ _PRETTY_FUNCTION_ _
Use this symbol inside a function body to make it expand into a string, with the function
name including parameter types and return type as context. The result might, for
example, look like this:
name including parameter types and return type as context. The result might, for
example, look like this:
"void func(char)"
This symbol is useful for assertions and other trace utilities. These symbols require that
language extensions are enabled, see -e, page 179.
language extensions are enabled, see -e, page 179.
See also, __func__, __FUNCTION__, page 230.
_ _STDC_ _
This predefined symbol expands to the number 1. This symbol can be tested with
#ifdef
to detect whether the compiler in use adheres to ISO/ANSI C.
_ _STDC_VERSION_ _
ISO/ANSI C and version identifier.
This predefined symbol expands to
199409L
.
Note: This predefined symbol does not apply in EC++ mode.
_ _TID_ _
Target identifier for the AVR IAR C/C++ Compiler.
Expands to the target identifier which contains the following parts:
●
A target identifier (t) unique for each IAR compiler. For the AVR microcontroller,
the target identifier is
the target identifier is
90
.
●
The value (
c
) of the
--cpu
or
-v
option.