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)