term% cat index.txt PCC(1) General Commands Manual 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 compilers 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 output.
-w Print compiler warning messages.
-B Don't complain about functions used without ANSI function
prototypes.
-v Echo the preprocessing, compiling, and loading commands be‐
fore they are executed.
-Dname=def
-Dname Define the name to the preprocessor, as if by If no defini‐
tion is given, the name is defined as
-Uname Undefine the name to the preprocessor, as if by
-Idir 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.
-a Instead of compiling, print on standard output acid func‐
tions (see acid(1)) for examining structures declared in
the source files.
-aa Like -a except that functions for structures declared in
included header files are omitted.
The APE environment contains all of the include files and library rou‐
tines specified in the ANSI C standard (X3.159-1989), as well as those
specified in the IEEE Portable Operating System Interface standard
(POSIX, 1003.1-1990, ISO 9945-1). In order to access the POSIX rou‐
tines, source programs should define the preprocessor constant
_POSIX_SOURCE.
FILES
/sys/include/ape
directory for machine-independent #include files.
/$objtype/include/ape
directory for machine-dependent #include files.
/$objtype/lib/ape/libap.a
ANSI C/POSIX library.
SEE ALSO
cpp(1), 2c(1), 2a(1), 2l(1), mk(1), nm(1), acid(1), db(1), prof(1)
Howard Trickey, ``APE — The ANSI/POSIX Environment''
SOURCE
/sys/src/cmd/pcc.c
BUGS
The locale manipulation functions are minimal. Signal functions and
terminal characteristic handlers are only minimally 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.
PCC(1)