Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ (1) — Plan9 4th Edition

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

2c(1)

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 2c(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. 

­-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

2c(1)

Plan 9  —  December 11, 1999

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026