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 12/22/24) 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 12/22/24)