c
cpp(1) |
|
|
| cpp(1) |
| _PA_RISC1_0 | _PA_RISC1_1 | _SIO | _WSIO |
UNIX systems variant: | hpux | _ _hpux | _HPUX_SOURCE | |
| PWB | _PWB |
|
|
lint(1): | lint | _ _lint |
|
|
In addition, all symbols that begin with an underscore and either an
Two special names are understood by cpp. _ _LINE_ _ is de®ned as the current line number (as a decimal integer) as counted by cpp. _ _FILE_ _ is de®ned as the current ®le name (as a C string) as known by cpp. They can be used anywhere (including in macros) just as any other de®ned names.
Directives
All cpp directives start with lines begun by #. Any number of blanks and tabs are allowed between the # and the directive. The directives are:
#define name
Replace subsequent instances of name with
#define name(arg, ... , arg)
Replace subsequent instances of name followed by a (, a list of
Notice that there can be no space between name and the (.
#endif [text]
Ends a section of lines begun by a test directive (#if, #ifdef, or #ifndef). Each test directive must have a matching #endif. Any text occurring on the same line as the #endif is ignored and thus may be used to mark matching #if−#endif pairs. This makes it easier, when reading the source, to match #if, #ifdef, and #ifndef directives with their associated #endif directive.
#elif
Equivalent to:
#else
#if
#else
Reverses the notion of the test directive that matches this directive. Thus, if lines previous to this directive are ignored, the following lines appear in the output, and vice versa.
#if
The lines following appear in the output if and only if the
There is also a unary operator, defined, which can be used in
Only these operators, integer constants, and names that are known by cpp should be used in
#ifdef name
Section 1−122 | − 2 − |