*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> c89 (1)              



NAME    [Toc]    [Back]

       c89 - Standard C Compiler

SYNOPSIS    [Toc]    [Back]

       c89 [-c] [-D name [=value]]... [-E] [-g] [-I directory]...
       [-L directory]... [-o  outfile]  [-O]  [-s]  [-U  name]...

STANDARDS    [Toc]    [Back]

       Interfaces  documented  on  this reference page conform to
       industry standards as follows:

       c89:  XPG4, XPG4-UNIX

       Refer to the standards(5) reference page for more information
 about industry standards and associated tags.

OPTIONS    [Toc]    [Back]

       The  following  options are defined by the XPG4-UNIX standard.
   However,  the  compiler  can  also  recognize  the
       options  defined  in cc(1). Unlike cc(1), c89 includes the
       -std1 option 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  information.  Suppress the loading phase of the compilation
 and force an object 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 option 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
       defined 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
       options,   and   finally   in   the   standard  directory,
       /usr/include.  Adds dir to the list  of  directories  that
       are searched for libraries.  Directories 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 option.

DESCRIPTION    [Toc]    [Back]

       Compiles source code in  conformance  with  the  XPG4-UNIX

       The  c89  command can process one or more of the following
       types of "file" arguments: Files whose names end with  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 substituted
 for file is deleted only when a single  source  program
 is compiled and linked in a single step.  Files whose
       names end with are  assumed  to  be  libraries  of  object
       files.   These  files  are  passed directly to the linker.
       Files whose names end with 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 description 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 environments in  which  the  code  can


       You  can  reference  these  macros in #ifdef statements to
       isolate code that applies  to  a  particular  language  or

ERRORS    [Toc]    [Back]

       The  diagnostics  produced by c89 are intended to be selfexplanatory.
  Occasional messages may be produced  by  the
       assembler or loader.

EXAMPLES    [Toc]    [Back]

       Compiles  helloworld.c  and  produces  the executable file
       helloworld.c c89 -o helloworld helloworld.c Compiles  helloworld.c
  and  creates the object file helloworld.o.  c89
       -c helloworld.c 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 option is needed because libQ.a
       and libp.a reside in the same directory.   c89  -L  /a/b/c
       main.o a.c -l Q b.c -l p


       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 arguments 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  directory for temporary files, if

       For more information on these environment  variables,  see
       i18n_intro(5) and l10n_intro(5).

FILES    [Toc]    [Back]

       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
       Optional global ucode optimizer Post-link  optimizer  Code
       generator  Symbolic to binary assembly language translator
       Binary assembly language assembler  and  reorganizer  Runtime
  startup  Startup for profiling Standard 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  Symbolicto-binary
  ucode  translator File produced for analysis by
       prof File produced for analysis by gprof

SEE ALSO    [Toc]    [Back]

       Commands: as(1), cc(1), ld(1)

       Other: i18n_intro(5), l10n_intro(5), standards(5)

       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

       Compaq C Language Reference Manual

[ Back ]
 Similar pages
Name OS Title
c99 FreeBSD standard C language compiler
tee Linux read from standard input and write to standard output and files
cc Tru64 C compiler
yacc IRIX yet another compiler-compiler
abicc IRIX ABI C compiler
NCC IRIX 32-bit C++ compiler
gencat FreeBSD NLS catalog compiler
rpcgen_tli IRIX an RPC protocol compiler
c++ NetBSD GNU project C++ Compiler
g++ OpenBSD GNU project C++ Compiler
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service