Chapter 15. Preprocessing Directives
In “How the C Compiler Works”, 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. Here is an example:
#define MacroName A long, \
long macro replacement value
The backslash must be the last character before the newline character. The preprocessor ...
Get C in a Nutshell, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.