Manual Page Result
0
Command: c89 | Section: 1 | Source: Digital UNIX | File: c89.1.gz
c89(1) General Commands Manual c89(1)
NAME
c89 - Standard C Compiler
SYNOPSIS
c89 [-c] [-D name[=value]] ... [-E] [-g] [-I directory] ... [-L di-
rectory] ... [-o outfile] [-O] [-s] [-U name] ... file ...
STANDARDS
Interfaces documented on this reference page conform to industry stan-
dards as follows:
c89: XPG4, XPG4-UNIX
Refer to the standards(5) reference page for more information about in-
dustry standards and associated tags.
DESCRIPTION
Compiles source code in conformance with the XPG4-UNIX standard.
The c89 command can process one or more of the following types of
"file" arguments: Files whose names end with .c are assumed to be C
source programs. They are compiled, and each object program is left in
the file whose name consists of the last component of the source with
only when a single source program is compiled and linked in a single
step. Files whose names end with .a are assumed to be libraries of ob-
ject files. These files are passed directly to the linker. Files
whose names end with .o are assumed to be object files produced by a
previous c89 command. These files are also passed directly to the
linker.
The c89 command can take other types of file arguments, although they
are not part of the standard specification. See cc(1) for a descrip-
tion of the other file types.
When the compiler is invoked, it defines the following C preprocessor
macros that identify the language of the input files and the environ-
ments in which the code can run:
You can reference these macros in #ifdef statements to isolate code
that applies to a particular language or environment.
The following environment variables affect compiler operation: Provides
a default value for locale variables that are not set. If any of these
variables contains an invalid setting, the compiler behaves as if none
were set. If set to a non-empty string, this variable overrides values
in all locale variables, including LANG. Determines the locale for the
interpretation of sequences of bytes of text data as characters (for
example, single-byte characters instead of multi-byte characters in ar-
guments and input files). Determines the locale used for diagnostic
messages. Determines the locale of message catalogs for the processing
of LC_MESSAGES. Provides a pathname that overrides the default direc-
tory for temporary files, if any.
For more information on these environment variables, see i18n_intro(5)
and l10n_intro(5).
FLAGS
The following flags are defined by the XPG4-UNIX standard. However,
the compiler can also recognize the flags defined in cc(1). Unlike
cc(1), c89 includes the -std1 flag by default (for ANSI C standards
checking). To check for full compliance to XPG4-UNIX, you must also
specify -D_XOPEN_SOURCE_EXTENDED. See standards(5) for more informa-
tion. Suppress the loading phase of the compilation and force an ob-
ject file to be produced. Produce symbol table information for full
symbolic debugging and suppress optimizations that limit full symbolic
debugging. Symbol types and stack-frame variables names are available.
Global optimizations are not performed. Instruction scheduling does not
span source line boundaries. Trap instructions are inserted to ensure
that exceptions are reported on the source lines that caused them to be
generated. Remove the symbol table and relocation bits to save space
(this impairs the usefulness of the debuggers). This information can
also be removed by strip(1). Name the final output file output. If
this flag is used, the file a.out is undisturbed. Define the name as
if with a #define statement. If no definition is given, the name is de-
fined as 1. Run only the C macro preprocessor on the files and send
the result to the standard output device. Specifies that #include
files whose names do not begin with / are always sought first in the
directory of the file argument, then in directories specified in -I
flags, and finally in the standard directory, /usr/include. Adds dir
to the list of directories that are searched for libraries. Directo-
ries specified with -L are searched before the standard directories.
Enable global optimization, including code motion, strength reduction
and test replacement, split lifetime analysis, and code scheduling.
Remove any definition of name previously defined with the -D flag.
EXAMPLES
c89 -o helloworld helloworld.c
Compiles helloworld.c and produces the executable file hel-
loworld. c89 -c helloworld.c
Compiles helloworld.c and creates the object file helloworld.o.
c89 -L /a/b/c main.o a.c -l Q b.c -l p
Compiles a.c and b.c, producing a.o and b.o. The object files
main.o, a.o, and b.o are then linked together, using the library
/a/b/c/libQ.a to resolve any references in a.o, and
/a/b/c/libp.a to resolve any references in b.o. The executable
program is placed in the file a.out. Only one -L flag is needed
because libQ.a and libp.a reside in the same directory.
ERRORS
The diagnostics produced by c89 are intended to be self-explanatory.
Occasional messages may be produced by the assembler or loader.
FILES
Input file Object file Loaded output Compiler error messages in English
Temporary Compiler configuration file (optional) C front end C macro
preprocessor DEC C compiler Binary ucode and symbol table joiner Ucode
loader Binary ucode and symbol table splitter Procedure integrator Op-
tional global ucode optimizer Post-link optimizer Code generator Sym-
bolic to binary assembly language translator Binary assembly language
assembler and reorganizer Run-time startup Startup for profiling Stan-
dard library, see intro(3) Level 1 profiling library Standard directory
for #include files Interface between prof and cord Procedure rearranger
Binary-to-symbolic ucode translator Symbolic-to-binary ucode translator
File produced for analysis by prof File produced for analysis by gprof
RELATED INFORMATION
Guides:
ANSI X3.159-1989
B. W. Kernighan and D. M. Ritchie, The C Programming Language
B. W. Kernighan, Programming in C -- a tutorial
D. M. Ritchie, C Reference Manual
Programmer's Guide
Assembly Language Programmer's Guide
DEC C Language Reference Manual
Commands: as(1), cc(1), ld(1)
Other: i18n_intro(5), l10n_intro(5), standards(5) delim off
c89(1)