man gcc 内容太多了 我都不知到能不能放下:
GCC(1) GNU GCC(1)
NAME
gcc - GNU project C and C++ compiler
SYNOPSIS
gcc [-c|-S|-E] [-std=standard]
[-g] [-pg] [-Olevel]
[-Wwarn...] [-pedantic]
[-Idir...] [-Ldir...]
[-Dmacro[=defn]...] [-Umacro]
[-foption...] [-mmachine-option...]
[-o outfile] [@file] infile...
Only the most useful options are listed here; see below for the remainder. g++ accepts mostly the same
options as gcc.
DESCRIPTION
When you invoke GCC, it normally does preprocessing, compilation, assembly and linking. The "overall
options" allow you to stop this process at an intermediate stage. For example, the -c option says not to
run the linker. Then the output consists of object files output by the assembler.
Other options are passed on to one stage of processing. Some options control the preprocessor and others
the compiler itself. Yet other options control the assembler and linker; most of these are not
documented here, since you rarely need to use any of them.
Most of the command line options that you can use with GCC are useful for C programs; when an option is
only useful with another language (usually C++), the explanation says so explicitly. If the description
for a particular option does not mention a source language, you can use that option with all supported
languages.
The gcc program accepts options and file names as operands. Many options have multi-letter names;
therefore multiple single-letter options may not be grouped: -dv is very different from -d -v.
You can mix options and other arguments. For the most part, the order you use doesn’t matter. Order
does matter when you use several options of the same kind; for example, if you specify -L more than once,
the directories are searched in the order specified. Also, the placement of the -l option is
significant.
: