glenda.party
term% ls -F
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 8c(1), as
       specified by the environment variable $objtype.  The object  files  are
       then  loaded  using one of the loaders described in 8l(1).  The options
       are:

       -+      Accept C++ // comments.

       -o out  Place loader output in file out instead of the  default  8.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.

       -W      Print all the messages that -w would  print  as  warnings,  but
               make them errors.

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

       -B      Don't complain about functions used without ANSI function  pro‐
               totypes.

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

       -v      Echo  the preprocessing, compiling, and loading commands before
               they are executed.

       -x file Produce an export file  in  the  executable,  as  described  in
               8l(1).

       -Dname=def
       -Dname  Define  the name to the preprocessor, as if by If no definition
               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  stan‐
               dard output.

       -T      Pass  type signatures on all external and global entities.  The
               signature is based on the C signof operator.  See dynld(2).

       -a      Instead of compiling, print on standard output  acid  functions
               (see  acid(1))  for examining structures declared in the source
               files.

       -aa     Like -a except that functions for structures  declared  in  in‐
               cluded header files are omitted.

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

       -f      (ARM only) Generate VFP hardware floating point instructions.

       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), 8c(1), 8a(1), 8l(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)