#if
' Directive
The `#if
' directive in its simplest form consists of
#if expression controlled text #endif /* expression */
The comment following the `#endif
' is not required, but it is a good
practice because it helps people match the `#endif
' to the
corresponding `#if
'. Such comments should always be used, except in
short conditionals that are not nested. In fact, you can put anything at
all after the `#endif
' and it will be ignored by the GNU C preprocessor,
but only comments are acceptable in ANSI Standard C.
expression is a C expression of integer type, subject to stringent restrictions. It may contain
long
or
unsigned long
.
char
' for these character constants; therefore, whether some
character codes are negative is determined by the C compiler used to
compile the preprocessor. If it treats `char
' as signed, then
character codes large enough to set the sign bit will be considered
negative; otherwise, no character code is considered negative.
&&
' and `||
').
Note that `sizeof
' operators and enum
-type values are not allowed.
enum
-type values, like all other identifiers that are not taken
as macro calls and expanded, are treated as zero.
The controlled text inside of a conditional can include
preprocessing directives. Then the directives inside the conditional are
obeyed only if that branch of the conditional succeeds. The text can
also contain other conditional groups. However, the `#if
' and
`#endif
' directives must balance.
Packaging copyright © 1988-2000 OAR Corporation
Context copyright by each document's author. See Free Software Foundation for information.