9srv Manual Collection/plan9/cpp(1) 9srv Manual Collection/plan9/cpp(1)
NAME
cpp - C language preprocessor

SYNOPSIS
cpp [ option ... ] [ ifile [ ofile ] ]

DESCRIPTION
Cpp interprets ANSI C preprocessor directives and does macro substitution. The input ifile and output ofile default to standard input and standard output respectively.

The options are:


-Dname
-Dname=def
-Idir
Same as in 8c(1): add dir to the search for directives.
-M
Generate no output except a list of include files in a form suitable for specifying dependencies to mk(1). Use twice to list files in angle brackets.
-N
Turn off default include directories. All must be specified with -I, or in the environment variable include. Without this option, /$objtype/include and /sys/include are used as the last two searched directories for include directives, where $objtype is read from the environment.
-V
Print extra debugging information.
-P
Do not insert ``#line'' directives into the output.
-+
Understand C++ comments.
-.
Inhibit include search in the source's directory.
-i
Print the list of directories searched when #include is found. Last listed are searched first.

In the absence of the -P option, the processed text output is sprinkled with lines that show the original input line numbering:

#line linenumber "ifile"

The command reads the environment variable include and adds its (blank-separated) list of directories to the standard search path for directives. They are looked at before any directories specified with -I, which are looked at before the default directories.

The input language is as described in the ANSI C standard. The standard Plan 9 C compilers do not use cpp; they contain their own simple but adequate preprocessor, so cpp is usually superfluous.

FILES
/sys/include
directory for machine-independent include files
/$objtype/include
directory for machine-dependent include files

SOURCE
/sys/src/cmd/cpp

SEE ALSO
8c(1)

9srv Manual Collection/plan9/cpp(1) Rev:  Thu Sep 27 00:06:13 BST 2012