|
|
| |
CC(1) |
FreeBSD General Commands Manual |
CC(1) |
cc —
front-end to the C compiler
cc |
[-cEgkMPStvX ]
[-B prefix]
[-D
macro[=value]]
[-d flags]
[-f feature]
[-I path]
[-include file]
[-isystem path]
[-L path]
[-m option]
[-nodefaultlibs ]
[-nostartfiles ]
[-nostdinc ] [-nostdlib ]
[-O [level]]
[-o outfile]
[-pg ] [-pthread ]
[-shared ] [-static ]
[-U macro]
[-Wa ,options]
[-Wc ,options]
[-Wl ,options]
[-Wp ,options]
[-x language]
[file ...] |
The cc utility provides a front-end to the
“portable C compiler”. Multiple files may be given on the
command line. Unrecognized options are all sent directly to
ld(1).
Filenames that end with .c are passed via
cpp(1)
→
ccom(1)
→
as(1)
→
ld(1).
Filenames that end with .i are passed via
ccom(1)
→
as(1)
→
ld(1).
Filenames that end with .s are passed via
as(1)
→
ld(1).
Filenames that end with .S are passed via
cpp(1)
→
as(1)
→
ld(1).
Filenames that end with .o are passed directly
to
ld(1).
The options are as follows:
-B prefix
- Define alternate prefix path for
cpp(1),
ccom(1),
as(1), or
ld(1)
executables.
-C
- Passed to the
cpp(1)
preprocessor to not discard comments.
-c
- Stop after generating object code with
as(1). Do
not link. The resulting object output is saved as a filename with a
“.o” suffix unless
-o option is
used. Note: cannot be combined with -o if multiple
files are given.
-D
macro[=value]
- Passed to the
cpp(1)
preprocessor to define macro with an optional
value.
-d flags
- Debug options. flags is a string of characters,
which signify the following actions.
- M
- Cause the preprocessor to output a list of macro definitions.
any unknown flags are ignored.
-E
- Stop after preprocessing with
cpp(1).
Do not compile, assemble, or link. Output is sent to standard output
unless the
-o option is used.
-ffreestanding
- Assume a freestanding environment.
-fPIC
- Generate PIC code.
-fpic
- Tells C compiler to generate PIC code and tells assembler that PIC code
has been generated.
-funsigned-char
- Tell the compiler to treat ‘char’ types as if they were
unsigned unless explicitly defined otherwise.
-fsigned-char can be used to signify the opposite
behaviour. The default for the ‘char’ type depends on the
compiler target architecture.
-fstack-protector
- Tell the compiler to wrap functions with code which checks at runtime that
a stack overflow has not occurred. When stack protection is in effect, the
__SSP__ macro will be defined.
-g
- Send
-g flag to
ccom(1)
to create debug output. Debug information output can be disabled with
-g0 .
-I
path
- Passed to the
cpp(1)
preprocessor to add header search directory to override system
defaults.
-include
file
- Tells the
cpp(1)
preprocessor to include the file during
preprocessing.
-isystem
path
- Defines path as a system header directory for the
cpp(1)
preprocessor.
-k
- Generate PIC code. See
-fpic option.
-L path
- Passed to the linker, to add path to the list of
directories searched for shared libraries.
-M
- Pass
-M flag to
cpp(1)
to generate dependencies for
make(1).
-m option
- Target-dependent options. Multiple
-m options can
be given, the following are supported:
- ARM
- -mlittle-endian -mbig-endian -mfpe=fpa -mfpe=vpf -msoft-float
-march=armv1 -march=armv2 -march=armv2a -march=armv3 -march=armv4
-march=armv4t -march=armv4tej -march=armv5 -march=armv6 -march=armv6t2
-march=armv6kz -march=armv6k -march=armv7
- HPPA
-
- i386
-
- MIPS
- -mlittle-endian -mbig-endian -mhard-float -msoft-float
- PDP-10
-
- PowerPC
-
- Sparc64
-
- VAX
-
-nodefaultlibs
- Do not link with the system default libraries (libc, etc.)
-nostartfiles
- Do not link with the system startup files (crt0.c, etc.)
-nostdinc
- Do not use the system include paths (/usr/include, etc.)
-nostdlib
- Do not link with the system default libraries or startup files.
-O [level]
- Enable compiler optimizations. Currently, for levels higher than zero,
this defines
__OPTIMIZE__ in the
cpp(1)
preprocessor, and passes -xdce ,
-xdeljumps , -xtemps and
-xinline to
ccom(1).
If no level is given the optimization level is increased, or optimizations
can be disabled using -O0 .
-o
outfile
- Save result to outfile.
-P
- Inhibit generation of line markers in preprocessor output. This is
sometimes useful when running the preprocessor on something other than C
code.
-pg
- Enable profiling on the generated executable.
-pthread
- Defines the
_PTHREADS preprocessor identifier for
cpp(1),
and adds -lpthread to the
ld(1)
linker arguments.
-S
- Stop after compilation by
ccom(1).
Do not assemble and do not link. The resulting assembler-language output
is saved as a filename with a “.s” suffix unless the
-o option is used. Note: cannot be combined with
-o if multiple files are given.
-shared
- Create a shared object of the result. Tells the linker not to generate an
executable.
-static
- Do not use dynamic linkage. By default, it will link using the dynamic
linker options and/or shared objects for the platform.
-t
- Passed to
cpp(1)
to suppress some default macro definitions and enable use of traditional C
preprocessor syntax.
-U
macro
- Passes to the
cpp(1)
preprocessor to remove the initial macro definition.
-v
- Outputs the version of
cc and shows what commands
will be run with their command line arguments.
-Wa ,options
- Comma separated list of options for the assembler.
-Wc ,options
- Comma separated list of options for the compiler.
-Wl ,options
- Comma separated list of options for the linker.
-Wp ,options
- Comma separated list of options for the preprocessor.
-X
- Don't remove temporary files on exit.
-x
language
- GCC compatibility option; specify the language in use rather than
interpreting the filename extension. Currently known language values are
none, c, c++,
assembler and assembler-with-cpp. Any
unknown
-x options are passed to
ccom(1).
A few macros are predefined by cc when sent to
cpp(1).
- __PCC__
- Set to the major version of
pcc(1).
These macros can be used to select code based on
pcc(1)
compatibility. See the
-v option.
- __PCC_MINOR__
- Set to the minor version.
- __PCC_MINORMINOR__
- Set to the minor-minor version — the number after the minor
version.
- _PTHREADS
- Defined when
-pthread switch is used.
- __ASSEMBLER__
- Defined when input files have a .S suffix, or if the
-x assembler-with-cpp option is specified.
Also system- and/or machine-dependent macros may also be
predefined; for example: __NetBSD__ ,
__ELF__ , and __i386__ .
The cc command comes from the original Portable C
Compiler by S. C. Johnson, written in the late 70's.
This product includes software developed or owned by Caldera
International, Inc.
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc. |