Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

pcc(1) [plan9 man page]

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 before they are executed. -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 standard output. -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 included header files are omitted. 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 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 can- not be implemented because the concept doesn't exist in Plan 9. PCC(1)

Check Out this Related Man Page

C89(1)							    BSD General Commands Manual 						    C89(1)

NAME
c89 -- POSIX.2 C language compiler SYNOPSIS
c89 [-c] [-D name[=value]] ... [-E] [-g] [-I directory ...] [-L directory ...] [-o outfile] [-O] [-s] [-U name ...] operand ... DESCRIPTION
This is the name of the C language compiler as required by the IEEE Std 1003.2 (``POSIX.2'') standard. The c89 compiler accepts the following options: -c Suppress the link-edit phase of the compilation, and do not remove any object files that are produced. -D name[=value] Define name as if by a C-language #define directive. If no ``=value'' is given, a value of 1 will be used. Note that in order to request a translation as specified by IEEE Std 1003.2 (``POSIX.2'') you need to define _POSIX_SOURCE either in the source or using this option. The -D option has lower precedence than the -U option. That is, if name is used in both a -U and a -D option, name will be undefined regardless of the order of the options. The -D option may be specified more than once. -E Copy C-language source files to the standard output, expanding all preprocessor directives; no compilation will be performed. -g Produce symbolic information in the object or executable files. -I directory Change the algorithm for searching for headers whose names are not absolute pathnames to look in the directory named by the directory pathname before looking in the usual places. Thus, headers whose names are enclosed in double-quotes ("") will be searched for first in the directory of the file with the #include line, then in directories named in -I options, and last in the usual places. For headers whose names are enclosed in angle brackets (<>), the header will be searched for only in directories named in -I options and then in the usual places. Directories named in -I options shall be searched in the order specified. The -I option may be specified more than once. -L directory Change the algorithm of searching for the libraries named in the -l objects to look in the directory named by the directory pathname before looking in the usual places. Directories named in -L options will be searched in the order specified. The -L option may be specified more than once. -o outfile Use the pathname outfile, instead of the default a.out, for the executable file produced. -O Optimize the compilation. -s Produce object and/or executable files from which symbolic and other information not required for proper execution has been removed (stripped). -U name Remove any initial definition of name. The -U option may be specified more than once. An operand is either in the form of a pathname or the form -l library. At least one operand of the pathname form needs to be specified. Supported operands are of the form: file.c A C-language source file to be compiled and optionally linked. The operand must be of this form if the -c option is used. file.a A library of object files, as produced by ar(1), passed directly to the link editor. file.o An object file produced by c89 -c, and passed directly to the link editor. -l library Search the library named liblibrary.a. A library will be searched when its name is encountered, so the placement of a -l operand is significant. SEE ALSO
ar(1), cc(1) STANDARDS
The c89 command is believed to comply with IEEE Std 1003.2 (``POSIX.2''). BSD
September 17, 1997 BSD
Man Page