PCC(1) PCC(1)
NAME
pcc - APE C compiler driver
SYNOPSIS
pcc [ option ... ] [ name ... ]
DESCRIPTION
Pcc compiles and loads C programs, using APE (ANSI C/POSIX)
include files and libraries. Named files ending with .c are
preprocessed with cpp(1), then compiled with one of the com-
pilers described in 2c(1), as specified by the environment
variable $objtype. The object files are then loaded using
one of the loaders described in 2l(1). The options are:
-o out Place loader output in file out instead of the
default 2.out, v.out, etc.
-P Omit the compilation and loading phases; leave
the result of preprocessing name.c in name.i.
-c Omit the loading phase.
-p Insert profiling code into the executable out-
put.
-w Print compiler warning messages.
-B Don't complain about functions used without ANSI
function prototypes.
-v Echo the preprocessing, compiling, and loading
commands before they are executed.
-Dname=def
-Dname Define the name to the preprocessor, as if by
`#define'. If no definition is given, the name
is defined as `1'.
-Uname Undefine the name to the preprocessor, as if by
`#undef'.
-Idir `#include' files whose names do not begin with
`/' are always sought first in the directory of
the file argument, then in directories named in
-I options, then in /$objtype/include/ape.
-N Don't optimize compiled code.
-S Print an assembly language version of the object
code on standard output.
Page 1 Plan 9 (printed 11/7/25)
PCC(1) PCC(1)
-sname Print on standard output a listing of the fields
in structure or union name together with their
offsets and some type information. This can be
used in conjunction with the debugger (see
db(1)).
The APE environment contains all of the include files and
library routines specified in the ANSI C standard (X3.159-
1989), as well as those specified in the IEEE Portable Oper-
ating System Interface standard (POSIX, 1003.1-1990, ISO
9945-1). In order to access the POSIX routines, source pro-
grams should define the preprocessor constant _POSIX_SOURCE.
FILES
/sys/include/ape system area for machine-
independent #include directives.
/$objtype/include/ape system area for machine-dependent
#include directives.
/$objtype/lib/ape/libap.a ANSI C/POSIX library.
SEE ALSO
cpp(1), 2c(1), 2a(1), 2l(1), rl(1), mk(1), nm(1), db(1),
prof(1)
Howard Trickey, ``APE - The ANSI/POSIX Environment''
BUGS
The locale manipulation functions are minimal. Signal func-
tions and terminal characteristic handlers are only mini-
mally implemented. Link always fails, because Plan 9
doesn't support multiple links to a file. The functions
related to setting effective user and group ids cannot be
implemented because the concept doesn't exist in Plan 9.
Page 2 Plan 9 (printed 11/7/25)