Atmel CAVR-4 사용자 설명서
![Atmel](https://files.manualsbrain.com/attachments/0369829915bda09f9c2e00fb805a7753579683b5/common/fit/150/50/8d2bf08978ec3e5bc63f4343ac5e91ce8d0e40045619fa520d910d64af8f/brand_logo.png)
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.