gcc(1)

NAME

gcc, g++ - GNU project C and C++ Compiler (gcc-2.95)

SYNOPSIS

gcc [ option | filename ]...
g++ [ option | filename ]...

WARNING

Array2.0). Both are made from the Texinfo source file gcc.texinfo.

DESCRIPTION

Array.c C source; preprocess, compile, assemble
.C C++ source; preprocess, compile, assemble
.cc C++ source; preprocess, compile, assemble
.cxx C++ source; preprocess, compile, assemble
.m Objective-C source; preprocess, compile, assemble
.i preprocessed C; compile, assemble
.ii preprocessed C++; compile, assemble
.s Assembler source; assemble
.S Assembler source; preprocess, assemble
.h Preprocessor file; not usually named on command line

Array.o Object file
.a Archive file

Arraystop the whole process). For the link stage, all .o files corresponding to source files, -l libraries, unrecognized filenames
(including named .o object files and .a archives) are passed to
the linker in command-line order.

OPTIONS

Array-msoft-float
VAX Options
-mg -mgnu -munix

ArrayConvex Options
-margcount -mc1 -mc2 -mnoargcount

Arraydivision -mno-ocs-debug-info -mno-ocs-frame-position -mno-optimize-arg-area -mno-serialize-volatile -mno-underscores -mocs-debug-info -mocs-frame-position -moptimize-arg-area -mserializevolatile -mshort-data-num -msvr3 -msvr4 -mtrap-large-shift -musediv-instruction -mversion-03.00 -mwarn-passed-structs
RS6000 Options
-mfp-in-toc -mno-fop-in-toc

Arraygpopt -mstats -mno-stats -mmemcpy -mno-memcpy -mno-mips-tfile
-mmips-tfile -msoft-float -mhard-float -mabicalls -mno-abicalls
-mhalf-pic -mno-half-pic -G num -nocpp
i386 Options
-m486 -mno-486 -msoft-float -mno-fp-ret-in-387

Arrayaddr -mno-complex-addr -mcode-align -mno-code-align -mic-compat
-mic2.0-compat -mic3.0-compat -masm-compat -mintel-asm -mstrictalign -mno-strict-align -mold-align -mno-old-align
DEC Alpha Options
-mfp-regs -mno-fp-regs -mno-soft-float -msoft-float

Array-fno-gnu-linker -fpcc-struct-return -fpic -fPIC -freg-struct-return -fshared-data -fshort-enums -fshort-double -fvolatile
-fvolatile-global -fverbose-asm

OVERALL OPTIONS

Arraywork on some systems where the assembler cannot read from a pipe;
but the GNU assembler has no trouble.

LANGUAGE OPTIONS

Array`-funsigned-char'. Likewise, `-fno-signed-char' is equivalent to `-funsigned-char'.
-fsigned-bitfields

-funsigned-bitfields

-fno-signed-bitfields

Arraygrams which assume they can write into string constants.
`-traditional' also has this effect.
Writing into string constants is a very bad idea;
"constants" should be constant.

PREPROCESSOR OPTIONS

Arraysource file, the preprocessor outputs one make-rule whose target
is the object file name for that source file and whose dependencies are all the files `#include'd in it. This rule may be a single line or may be continued with ´-newline if it is long.
The list of rules is printed on standard output instead of the
preprocessed C program.
`-M' implies `-E'.

Arrayput.

ASSEMBLER OPTION

Arraycommas.

LINKER OPTIONS

Arrayple times with different symbols to force loading of additional
library modules.

DIRECTORY OPTIONS

Arraya prefix in the same way. If both the `-B' option and the

GCC_EXEC_PREFIX

first and the environment variable value second.

WARNING OPTIONS

Array-w Inhibit all warning messages.

Arraywas given.
-Werror
Treat warnings as errors; abort compilation after
any warning.

DEBUGGING OPTIONS

ArrayGNU debugger (GDB). The use of these extensions is likely to
make other debuggers crash or refuse to read the program.
-glevel
-ggdblevel
-gstabslevel
-gcofflevel -gxcofflevel

Array-dN Dump all macro names, at the end of preprocessing.

Array-dr Dump after RTL generation, to `file.rtl'.

Array-dj Dump after first jump optimization, to `file.jump'.

Array-dL Dump after loop optimization, to `file.loop'.

Array-df Dump after flow analysis, to `file.flow'.

Array-dJ Dump after last jump optimization, to `file.jump2'.

Array-da Produce all the dumps listed above.

Arrayelse. With this option, GNU CC does not compile or link anything; it just prints the file name.
-print-libgcc-file-name
Same as `-print-file-name=libgcc.a'.
-print-prog-name=program
Like `-print-file-name', but searches for a program
such as `cpp'.

OPTIMIZATION OPTIONS

These options control various sorts of optimizations:

-O

Arrayfloating point. Use `-ffloat-store' for such programs. -fmemoize-lookups

Arraydles the frame pointer and nothing is saved by pretending it
doesn't exist. The machine-description macro

FRAME_POINTER_REQUIRED

Arraycall to foo without going through a temporary in the following
code:
A foo (); A y = foo ();

Arrayhas been done. This is especially useful on machines with a relatively small number of registers and where memory load instructions take more than one cycle.

TARGET OPTIONS

Arraybe a version that is recommended for general use.

MACHINE DEPENDENT OPTIONS

Arrayother compilers on the same platform.
These are the `-m' options defined for the 68000 series:

-m68000

Array-m68020

ArrayThese `-m' options are defined for the Vax:

ArrayThese `-m' switches are supported on the SPARC:

-mfpu

Array-mno-fpu

Arrayprogram with this option.
-mno-epilogue

Array-mno-v8

-mv8

Arraystructions which exist in SPARClite but not in SPARC v7.
-mcypress

Arrayseries. This flag also enables use of the full SPARC v8 instruction set.
These `-m' options are defined for the Convex:

ArrayThese `-m' options are defined for the AMD Am29000:

Arrayhardware. This is the default.
-mnodw Generate code that assumes the DW bit is not set.

ArrayThe default is to use an underscore as prefix on each name.
-mno-check-zero-division

ArrayUse these options to avoid including (or to include explicitly)
additional code to detect division by zero and signal an exception. All GCC configurations for the 88K use
`-mcheck-zero-division' by default. -mocs-debug-info

Array88Open Object Compatibility Standard, "OCS". This extra information is not needed by GDB. The default for DG/UX, SVr4, and
Delta 88 SVr3.2 is to include this information; other 88k configurations omit this information by default.
-mocs-frame-position

ArrayOCS. The DG/UX, Delta88 SVr3.2, and BCS configurations use
`-mocs-frame-position'; other 88k configurations have the default `-mno-ocs-frame-position'.
-moptimize-arg-area

Arraystruction (rather than the usual two). You control which data
references are affected by specifying num with this option. For
example, if you specify `-mshort-data-512', then the data references affected are those involving displacements of less than 512
bytes. `-mshort-data-num' is not effective for num greater than 64K.
-mserialize-volatile

Arrayuse `-mserialize-volatile'.
-msvr4

Array-mtrap-large-shift

Arrayevolution of the C language, and are often the source of portability problems. By default, GCC issues no such warning.
These options are defined for the IBM RS6000:

-mfp-in-toc

Arrayand function addresses. By default GCC puts floating-point constants there; if the TOC overflows, `-mno-fp-in-toc' will reduce the size of the TOC, which may avoid the overflow.
These `-m' options are defined for the IBM RT PC:

Arrayjunction with -mips2.
-mint64

-mlong64

Arrayject format.
-mrnames

Arraynames (ie, a0 instead of $4). The GNU assembler does not support
the -mrnames switch, and the MIPS assembler will be instructed to run the MIPS C preprocessor over the source file. The
-mno-rnames switch is default.
-mgpopt

Arraythe MIPS assembler to generate one word memory references instead
of using two words for short global or static data items. This
is on by default if optimization is selected.
-mstats

Arrayfile to print statistics about the program (number of registers
saved, stack size, etc.).
-mmemcpy

Arraygenerating inline code.
-mmips-tfile

Array-mabicalls

Arrayposition independent code.
-mhalf-pic

ArrayThe default cpu-type is kb; other choices are ka, mc, ca, cf, sa, and sb.
-mnumerics

Arraytion indicates that floating-point support should not be assumed.
-mleaf-procedures

Arrayresult in more efficient code for explicit calls when the bal instruction can be substituted by the assembler or linker, but less
efficient code in other cases, such as calls via function pointers, or using a linker that doesn't support this optimization.
-mtail-call

Arraytimize tail-recursive calls into branches. You may not want to
do this because the detection of cases where this is not valid is
not totally complete. The default is -mno-tail-call. -mcomplex-addr

ArrayComplex addressing modes may not be worthwhile on the K-series,
but they definitely are on the C-series. The default is currently -mcomplex-addr for all processors except the CB and CC. -mcode-align

Arrayimplementations only.
-mic-compat

-mic2.0-compat

Array-mno-soft-float

Array-mfp-reg

Arrayin dirs from one another with colons.
-Ym,dir
Look in the directory dir to find the M4 preproces
sor. The assembler uses this option.

CODE GENERATION OPTIONS

Arraypiler must check that a is not null in code like the following:
obj &a = g (); a.f (2);

Arraystack pointer, frame pointer or in some other fixed role).
reg must be the name of a register. The register
names accepted are machine-specific and are defined in the

REGISTER_NAMES

Arrayreturned.
This flag does not have a negative form, because it
specifies a three-way choice.

PRAGMAS

Arrayfiles that use those classes. Normally, local copies of certain
information (backup copies of inline member functions, debugging
information, and the internal tables that implement virtual functions) must be kept in each object file that includes class definitions. You can use this pragma to avoid such duplication.
When a header file containing `#pragma interface' is included in a compilation, this auxiliary information will not be generated
(unless the main input source file itself uses `#pragma implementation'). Instead, the object files will contain references to be resolved at link time.
#pragma implementation

Arrayyour source file; for example, in `allclass.cc', `#pragma implementation' by itself is equivalent to `#pragma implementation "allclass.h"'. Use the string argument if you want a single implementation file to include code from multiple
header files.
There is no way to split up the contents of a sin
gle header file into multiple implementation files.

FILES

ArrayLIBDIR/g++-include additional g++ directory for #include

LIBDIR is usually /usr/local/lib/machine/version. TMPDIR comes from the environment variable TMPDIR (default
/usr/tmp if available, else /tmp).

EXIT STATUS

Arraywarning as an error.

SEE ALSO

ArrayGDB: the GNU Source-Level Debugger, Richard M. Stallman and Roland H. Pesch; Using as: the GNU Assembler, Dean Elsner, Jay Fenlason & friends; ld: the GNU linker, Steve Chamberlain and Roland Pesch.

BUGS

For instructions on reporting bugs, see the GCC manual.

COPYING

Copyright 1991, 1992, 1993 Free Software Foundation, Inc.

Arrayfor modified versions, except that this permission notice may be
included in translations approved by the Free Software Foundation
instead of in the original English.

AUTHORS

Copyright © 2010-2025 Platon Technologies, s.r.o.           Index | Man stránky | tLDP | Dokumenty | Utilitky | O projekte
Design by styleshout