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.