Next: Header Files Prev: Global Actions Up: Top

Preprocessor Commands

   Most preprocessor features are active only if you use preprocessor
commands to request their use.

   Preprocessor commands are lines in your program that start with `#'.
The `#' is followed by an identifier that is the "command name".  For
example, `#define' is the command that defines a macro.  Whitespace is
also allowed before and after the `#'.

   The set of valid command names is fixed.  Programs cannot define new
preprocessor commands.

   Some command names require arguments; these make up the rest of the
command line and must be separated from the command name by whitespace.
For example, `#define' must be followed by a macro name and the
intended expansion of the macro.

   A preprocessor command cannot be more than one line in normal
circumstances.  It may be split cosmetically with Backslash-Newline,
but that has no effect on its meaning.  Comments containing Newlines
can also divide the command into multiple lines, but the comments are
changed to Spaces before the command is interpreted.  The only way a
significant Newline can occur in a preprocessor command is within a
string constant or character constant.  Note that most C compilers that
might be applied to the output from the preprocessor do not accept
string or character constants containing Newlines.

   The `#' and the command name cannot come from a macro expansion.  For
example, if `foo' is defined as a macro expanding to `define', that
does not make `#foo' a valid preprocessor command.

automatically generated by info2www