home | help
C99(1)			     General Commands Manual			  C99(1)

NAME
     c99 -- standard C language compiler

SYNOPSIS
     c99 [-cEgs] [-D name[=value]] ... [-I directory] ... [-L directory] ...
	 [-o outfile] [-O optlevel] [-U name] ... operand ...

DESCRIPTION
     This  is  the  name  of the C language compiler as required by the IEEE Std
     1003.1-2001 ("POSIX.1") standard.

     The c99 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.1-2001
	     ("POSIX.1"), you need to define _POSIX_C_SOURCE=200112L  either  in
	     the  source  or  using this option.  The -D option has lower prece-
	     dence 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 direc-
	     tories 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  op-
	     tions  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 ex-
	     ecutable file produced.

     -O optlevel
	     If optlevel is zero, disable all optimizations.  Otherwise,  enable
	     optimizations at the specified level.

     -s      Produce  object  and/or  executable  files  from which symbolic and
	     other information not required for proper execution  has  been  re-
	     moved (stripped).

     -U name
	     Remove any initial definition of name.  The -U option may be speci-
	     fied 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  op-
		       tion 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 c99 -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), c89(1), cc(1), c99(7)

STANDARDS
     The c99 utility interface conforms to IEEE Std 1003.1-2001 ("POSIX.1").

FreeBSD 12.1			  July 13, 2015 			  C99(1)

home | help