Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

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

NAME
       cc, pcc - C compiler

SYNOPSIS
       cc [ option ] ... file ...

       pcc [ option ] ... file ...

DESCRIPTION
       Cc is the UNIX C	compiler.  It accepts several types of arguments:

       Arguments  whose	names end with `.c' are	taken to be C source programs;
       they are	compiled, and each object program is left on  the  file	 whose
       name  is	 that  of the source with `.o' substituted for `.c'.  The `.o'
       file is normally	deleted, however, if a single C	 program  is  compiled
       and loaded all at one go.

       In  the	same  way, arguments whose names end with `.s' are taken to be
       assembly	source programs	and are	assembled, producing a `.o' file.

       The following options are interpreted by	cc.  See ld(1)	for  load-time
       options.

       -c      Suppress	the loading phase of the compilation, and force	an ob-
	       ject file to be produced	even if	only one program is compiled.

       -p      Arrange for the compiler	to produce code	which counts the  num-
	       ber  of	times  each  routine is	called;	also, if loading takes
	       place, replace the standard startup routine by one which	 auto-
	       matically  calls	 monitor(3) at the start and arranges to write
	       out a mon.out file at normal termination	of  execution  of  the
	       object  program.	 An execution profile can then be generated by
	       use of prof(1).

       -f      In systems without hardware floating-point, use	a  version  of
	       the C compiler which handles floating-point constants and loads
	       the object program with the floating-point interpreter.	Do not
	       use if the hardware is present.

       -O      Invoke an object-code optimizer.

       -S      Compile	the named C programs, and leave	the assembler-language
	       output on corresponding files suffixed `.s'.

       -P      Run only	the macro preprocessor and place the result  for  each
	       `.c'  file in a corresponding `.i' file and has no `#' lines in
	       it.

       -E      Run only	the macro preprocessor and  send  the  result  to  the
	       standard	 output.   The	output is intended for compiler	debug-
	       ging; it	is unacceptable	as input to cc.

       -o output
	       Name the	final output file output.  If this option is used  the
	       file `a.out' will be left undisturbed.

       -Dname=def
       -Dname  Define the name to the preprocessor, as if by `#define'.	 If no
	       definition is given, the	name is	defined	as 1.

       -Uname  Remove any initial definition of	name.

       -Idir   `#include' files	whose names do not begin with `/'  are	always
	       sought first in the directory of	the file argument, then	in di-
	       rectories named in -I options, then in directories on  a	 stan-
	       dard list.

       -Bstring
	       Find  substitute	compiler passes	in the files named string with
	       the suffixes cpp, c0, c1	and c2.	 If string  is	empty,	use  a
	       standard	backup version.

       -t[p012]
	       Find  only  the	designated  compiler passes in the files whose
	       names are constructed by	a -B option.  In the absence of	 a  -B
	       option, the string is taken to be `/usr/c/'.

       Other  arguments	 are taken to be either	loader option arguments, or C-
       compatible object programs, typically produced by an earlier cc run, or
       perhaps	libraries  of C-compatible routines.  These programs, together
       with the	results	of any compilations specified, are loaded (in the  or-
       der given) to produce an	executable program with	name a.out.

       The  major  purpose of the `portable C compiler', pcc, is to serve as a
       model on	which to base other compilers.	Pcc does not  support  options
       -f,  -E,	 -B,  and -t.  It provides, in addition	to the language	of cc,
       unsigned	char type data and initialized bit fields.

FILES
       file.c	       input file
       file.o	       object file
       a.out	       loaded output
       /tmp/ctm?       temporaries for cc
       /lib/cpp	       preprocessor
       /lib/c[01]      compiler	for cc
       /usr/c/oc[012]  backup compiler for cc
       /usr/c/ocpp     backup preprocessor
       /lib/fc[01]     floating-point compiler
       /lib/c2	       optional	optimizer
       /lib/crt0.o     runtime startoff
       /lib/mcrt0.o    startoff	for profiling
       /lib/fcrt0.o    startoff	for floating-point interpretation
       /lib/libc.a     standard	library, see intro(3)
       /usr/include    standard	directory for `#include' files
       /tmp/pc*	       temporaries for pcc
       /usr/lib/ccom   compiler	for pcc

SEE ALSO
       B. W. Kernighan and D. M. Ritchie, The C	 Programming  Language,	 Pren-
       tice-Hall, 1978
       D. M. Ritchie, C	Reference Manual
       monitor(3), prof(1), adb(1), ld(1)

DIAGNOSTICS
       The  diagnostics	 produced by C itself are intended to be self-explana-
       tory.  Occasional messages may be produced by the assembler or  loader.
       Of these, the most mystifying are from the assembler, as(1), in partic-
       ular `m', which means a multiply-defined	external symbol	 (function  or
       data).

BUGS
       Pcc  is	little tried on	the PDP11; specialized code generated for that
       machine has not been well shaken	down.  The -O optimizer	 was  designed
       to work with cc;	its use	with pcc is suspect.

				     PDP11				 CC(1)

NAME | SYNOPSIS | DESCRIPTION | FILES | SEE ALSO | DIAGNOSTICS | BUGS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=cc&sektion=1&manpath=Unix+Seventh+Edition>

home | help