Chapter 14. Preprocessing Directives
In the section “How the C Compiler Works” in Chapter 1, we outlined the eight steps in translation from C source to an executable program. In the first four of those steps, the C preprocessor prepares the source code for the actual compiler. The result is a modified source in which comments have been deleted and preprocessing directives have been replaced with the results of their execution.
This chapter describes the C preprocessing directives. Among these are directives to insert the contents of other source files; to identify sections of code to be compiled only under certain conditions; and to define macros, which are identifiers that the preprocessor replaces with another text.
Each preprocessor directive appears on a line by itself, beginning
with the character #. Only space and
tab characters may precede the #
character on a line. A directive ends with the first newline character
that follows its beginning. The shortest preprocessor directive is the
null directive. This directive
consists of a line that contains nothing but the character #, and possibly comments or whitespace
characters. Null directives have no effect: the preprocessor removes
them from the source file.
If a directive doesn’t fit on one text line, you can end the line
with a backslash (\) and continue the
directive on the next line. An example:
#define MacroName A long, \
long macro replacement valueThe backslash must be the last character before the newline character. The ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access