OAR

RTEMS GNU Tools On-Line Library


Top

prev UP NEXT Bookshelf The C Preprocessor

Chapter 1: The C Preprocessor

The C preprocessor is a macro processor that is used automatically by the C compiler to transform your program before actual compilation. It is called a macro processor because it allows you to define macros, which are brief abbreviations for longer constructs.

The C preprocessor provides four separate facilities that you can use as you see fit:

C preprocessors vary in some details. This manual discusses the GNU C preprocessor, the C Compatible Compiler Preprocessor. The GNU C preprocessor provides a superset of the features of ANSI Standard C.

ANSI Standard C requires the rejection of many harmless constructs commonly used by today's C programs. Such incompatibility would be inconvenient for users, so the GNU C preprocessor is configured to accept these constructs by default. Strictly speaking, to get ANSI Standard C, you must use the options `-trigraphs', `-undef' and `-pedantic', but in practice the consequences of having strict ANSI Standard C make it undesirable to do this. See Invocation.

The C preprocessor is designed for C-like languages; you may run into problems if you apply it to other kinds of languages, because it assumes that it is dealing with C. For example, the C preprocessor sometimes outputs extra white space to avoid inadvertent C token concatenation, and this may cause problems with other languages.

  • Global Actions Actions made uniformly on all input files.
  • Directives General syntax of preprocessing directives.
  • Header Files How and why to use header files.
  • Macros How and why to use macros.
  • Conditionals How and why to use conditionals.
  • Combining Sources Use of line control when you combine source files.
  • Other Directives Miscellaneous preprocessing directives.
  • Output Format of output from the C preprocessor.
  • Invocation How to invoke the preprocessor; command options.
  • Concept Index Index of concepts and terms.
  • Index Index of directives, predefined macros and options.

  • prev UP NEXT Bookshelf The C Preprocessor

    Packaging copyright © 1988-2000 OAR Corporation
    Context copyright by each document's author. See Free Software Foundation for information.