DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(cpp.info.gz) Directives

Info Catalog (cpp.info.gz) Global Actions (cpp.info.gz) Top (cpp.info.gz) Header Files
 
 Preprocessing Directives
 ========================
 
    Most preprocessor features are active only if you use preprocessing
 directives to request their use.
 
    Preprocessing directives are lines in your program that start with
 `#'.  The `#' is followed by an identifier that is the "directive name".
 For example, `#define' is the directive that defines a macro.
 Whitespace is also allowed before and after the `#'.
 
    The set of valid directive names is fixed.  Programs cannot define
 new preprocessing directives.
 
    Some directive names require arguments; these make up the rest of
 the directive line and must be separated from the directive name by
 whitespace.  For example, `#define' must be followed by a macro name
 and the intended expansion of the macro.   Simple Macros.
 
    A preprocessing directive 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 directive into multiple lines, but the comments are
 changed to Spaces before the directive is interpreted.  The only way a
 significant Newline can occur in a preprocessing directive 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 directive 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 preprocessing directive.
 
Info Catalog (cpp.info.gz) Global Actions (cpp.info.gz) Top (cpp.info.gz) Header Files
automatically generated byinfo2html