c89
—
POSIX.2 C language compiler
c89 |
[-cEgOs ] [-D
name[=value]] ...
[-I directory] ...
[-L directory] ...
[-o outfile]
[-U name] ...
operand ... |
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.
The c89
utility is believed to comply with
IEEE Std 1003.2 (“POSIX.2”).