glenda.party
term% ls -F
term% pwd
$home/manuals/9front/1/pcc
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:

       -+          Accept C++ // comments.

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

       -E          Like -P, but send the result to standard output.

       -c          Omit the loading phase.

       -p          Insert profiling code into the executable output.

       -w          Print compiler warning messages.

       -llib       Include /$objtype/lib/ape/liblib.a as a library during  the
                   linking phase.

       -B          Don't  complain  about functions used without ANSI function
                   prototypes.

       -V          Enable void* conversion warnings, as in 2c(1).

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

       -F          Enable vararg type checking as described in 2c(1).  This is
                   of limited use without the appropriate #pragma definitions.

       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)