ea4
Miscellaneous Preprocessing Directives
Contents|Index|Previous|Next
Miscellaneous
preprocessing directives
There
are three preprocessing directives that are not very useful, but are mentioned
for completeness.
-
The null
directive consists of a #
followed by a Newline, with only whitespace (including comments) in between.
A null directive is understood as a preprocessing directive but has no
effect on the preprocessor output. The primary significance of the existence
of the null directive is that an input line consisting of just a #
will produce no output, rather than a line of output containing just a
#.
Supposedly some old C programs contain such lines.
-
The ANSI
standard specifies that the #pragma
directive has an arbitrary, implementation-defined effect. In the GNU C
preprocessor, #pragma
directives are not used, except for #pragma
once (see Once-Only
Include Files). However, they are left
in the preprocessor output, so they are available to the compilation pass.
-
The #ident
directive is supported for compatibility with certain other systems. It
is followed by a line of text. On some systems, the text is copied into
a special place in the object file; on most systems, the text is ignored
and this directive has no effect. Typically, #ident
is only used in header files supplied with those systems where it is meaningful.
0