Whole document tree
    

Whole document tree

The C Preprocessor: Other Directives
[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.7 Miscellaneous Preprocessing Directives

This section describes three additional preprocessing directives. They 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 effect of the `#pragma' directive is implementation-defined. In the GNU C preprocessor, `#pragma' directives are not used, except for `#pragma once' (see section 1.3.4 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.



This document was generated by root on January, 30 2002 using texi2html