📄 gnu gcc 手册 1.mht
字号:
<P><I><FONT face=3D"Courier New" size=3D2>System V</FONT><FONT=20
size=3D2>选项</FONT></I> <FONT size=3D2><BR></FONT><FONT =
face=3D"Courier New"=20
size=3D2>-G -Qy -Qn -YP,<I>paths</I> -Ym,<I>dir</I> </FONT></P>
<DT><B><FONT =
size=3D2>代码生成选项</FONT><FONT =
face=3D"Courier New" size=3D2>(Code=20
Generation Option)</FONT></B>=20
<DD><FONT face=3D"Courier New" size=3D2>-fcall-saved-<I>reg</I>=20
-fcall-used-<I>reg</I> -ffixed-<I>reg</I> -finhibit-size-directive=20
-fnonnull-objects -fno-common -fno-ident -fno-gnu-linker =
-fpcc-struct-return=20
-fpic -fPIC -freg-struct-return -fshared-data -fshort-enums =
-fshort-double=20
-fvolatile -fvolatile-global -fverbose-asm</FONT>=20
<P></P></DD></DL>
<H2><FONT size=3D2>总体选项</FONT><FONT =
face=3D"Courier New" size=3D2>(Overall=20
Option)</FONT></H2>
<DL compact>
<DT><FONT face=3D"Courier New" size=3D2><B>-x </B><I>language</I> =
</FONT>
<DD><FONT =
size=3D2>明确指出后面输入=
文件的语言为</FONT><FONT =
face=3D"Courier New"=20
size=3D2><I>language</I> (</FONT><FONT =
size=3D2>而不是从文件名后=
缀得到的默认选择</FONT><F=
ONT=20
face=3D"Courier New" size=3D2>).</FONT><FONT =
size=3D2>这个选项应用于后=
面 =
所有的输入文件</FONT><FONT=20
face=3D"Courier New" size=3D2>,</FONT><FONT =
size=3D2>直到遇着下一个</FONT><=
FONT=20
face=3D"Courier New" size=3D2>`<B>-x</B>'</FONT><FONT =
size=3D2>选项</FONT><FONT=20
face=3D"Courier New" size=3D2>. <I>language</I></FONT><FONT=20
size=3D2>的可选值有</FONT><FONT =
face=3D"Courier New" size=3D2>`<B>c</B>',=20
`<B>objective-c</B>', `<B>c-header</B>', `<B>c++</B>', =
`<B>cpp-output</B>',=20
`<B>assembler</B>',</FONT><FONT size=3D2>和</FONT><FONT =
face=3D"Courier New"=20
size=3D2>`<B>assembler-with-cpp</B>'.</FONT>=20
<DT><B><FONT face=3D"Courier New" size=3D2>-x none</FONT></B>=20
<DD><FONT =
size=3D2>关闭任何对语种的=
明确说明</FONT><FONT face=3D"Courier New"=20
size=3D2>,</FONT><FONT =
size=3D2>因此依据文件名后=
缀处理后面的文件</FONT><F=
ONT face=3D"Courier New"=20
size=3D2>(</FONT><FONT =
size=3D2>就象是从未使用过=
</FONT><FONT face=3D"Courier New"=20
size=3D2>`<B>-x</B>'</FONT><FONT size=3D2>选项</FONT><FONT =
face=3D"Courier New"=20
size=3D2>).</FONT> </DD></DL>
<P><FONT =
size=3D2>如果只操作四个阶=
段</FONT><FONT face=3D"Courier New" size=3D2>(</FONT><FONT=20
size=3D2>预处理</FONT><FONT face=3D"Courier New" =
size=3D2>,</FONT><FONT=20
size=3D2>编译</FONT><FONT face=3D"Courier New" =
size=3D2>,</FONT><FONT=20
size=3D2>汇编</FONT><FONT face=3D"Courier New" =
size=3D2>,</FONT><FONT=20
size=3D2>连接</FONT><FONT face=3D"Courier New" =
size=3D2>)</FONT><FONT=20
size=3D2>中的一部分</FONT><FONT =
face=3D"Courier New" size=3D2>,</FONT><FONT=20
size=3D2>可以使用</FONT><FONT face=3D"Courier =
New" size=3D2>`<B>-x</B>'</FONT><FONT=20
size=3D2>选项</FONT><FONT face=3D"Courier New" =
size=3D2>(</FONT><FONT=20
size=3D2>或文件名后缀</FONT><FONT =
face=3D"Courier New" size=3D2>)</FONT><FONT size=3D2>告诉=20
</FONT><FONT face=3D"Courier New" size=3D2><B>gcc</B></FONT><FONT=20
size=3D2>从哪里开始</FONT><FONT =
face=3D"Courier New" size=3D2>,</FONT><FONT=20
size=3D2>用</FONT><FONT face=3D"Courier New" size=3D2>`<B>-c</B>', =
`<B>-S</B>',</FONT><FONT size=3D2>或</FONT><FONT face=3D"Courier =
New"=20
size=3D2>`<B>-E</B>'</FONT><FONT =
size=3D2>选项告诉</FONT><FONT face=3D"Courier =
New"=20
size=3D2><B>gcc</B></FONT><FONT size=3D2>到 =
哪里结束</FONT><FONT face=3D"Courier New"=20
size=3D2>.</FONT><FONT size=3D2>注意</FONT><FONT =
face=3D"Courier New"=20
size=3D2>,</FONT><FONT =
size=3D2>某些选项组合</FONT><FONT =
face=3D"Courier New"=20
size=3D2>(</FONT><FONT size=3D2>例如</FONT><FONT =
face=3D"Courier New" size=3D2>, `<B>-x=20
cpp-output -E</B>')</FONT><FONT size=3D2>使</FONT><FONT =
face=3D"Courier New"=20
size=3D2><B>gcc</B></FONT><FONT =
size=3D2>不作任何事情</FONT><FONT =
face=3D"Courier New"=20
size=3D2>.</FONT>=20
<DL compact>
<DT><B><FONT face=3D"Courier New" size=3D2>-c</FONT></B>=20
<DD><FONT =
size=3D2>编译或汇编源文件=
</FONT><FONT face=3D"Courier New" size=3D2>,</FONT><FONT=20
size=3D2>但是不作连接</FONT><FONT =
face=3D"Courier New" size=3D2>.</FONT><FONT=20
=
size=3D2>编译器输出对应于=
源文件的目标文件</FONT><F=
ONT face=3D"Courier New" size=3D2>.</FONT>=20
<P><FONT size=3D2>缺省情况下</FONT><FONT =
face=3D"Courier New" size=3D2>, GCC</FONT><FONT=20
size=3D2>通过用</FONT><FONT face=3D"Courier New" =
size=3D2>`<B>.o</B>'</FONT><FONT=20
=
size=3D2>替换源文件名后缀=
</FONT><FONT face=3D"Courier New" size=3D2>`<B>.c</B>',=20
`<B>.i</B>', `<B>.s</B>',</FONT><FONT =
size=3D2>等等</FONT><FONT face=3D"Courier New"=20
size=3D2>,</FONT><FONT =
size=3D2>产生目标文件名</FONT><=
FONT face=3D"Courier New"=20
size=3D2>.</FONT><FONT =
size=3D2>可以使用</FONT><FONT face=3D"Courier =
New"=20
size=3D2><B>-o</B></FONT><FONT =
size=3D2>选项选择其他名字=
</FONT><FONT face=3D"Courier New"=20
size=3D2>.</FONT>=20
<P><FONT face=3D"Courier New" size=3D2>GCC</FONT><FONT =
size=3D2>忽略</FONT><FONT=20
face=3D"Courier New" size=3D2><B>-c</B></FONT><FONT=20
=
size=3D2>选项后面任何无法=
识别的输入文件</FONT><FONT =
face=3D"Courier New" size=3D2>(</FONT><FONT=20
=
size=3D2>他们不需要编译或=
汇编</FONT><FONT face=3D"Courier New" size=3D2>).</FONT> =
</P>
<DT><B><FONT face=3D"Courier New" size=3D2>-S</FONT></B>=20
<DD><FONT =
size=3D2>编译后即停止</FONT><FONT =
face=3D"Courier New" size=3D2>,</FONT><FONT=20
size=3D2>不进行汇编</FONT><FONT =
face=3D"Courier New" size=3D2>.</FONT><FONT=20
=
size=3D2>对于每个输入的非=
汇编语言文件</FONT><FONT =
face=3D"Courier New" size=3D2>,</FONT><FONT=20
=
size=3D2>输出文件是汇编语=
言文件</FONT><FONT face=3D"Courier New" =
size=3D2>.</FONT>=20
<P><FONT size=3D2>缺省情况下</FONT><FONT =
face=3D"Courier New" size=3D2>, GCC</FONT><FONT=20
size=3D2>通过用</FONT><FONT face=3D"Courier New" =
size=3D2>`<B>.o</B>'</FONT><FONT=20
=
size=3D2>替换源文件名后缀=
</FONT><FONT face=3D"Courier New" size=3D2>`<B>.c</B>',=20
`<B>.i</B>',</FONT><FONT size=3D2>等等</FONT><FONT =
face=3D"Courier New"=20
size=3D2>,</FONT><FONT size=3D2>产生 =
目标文件名</FONT><FONT face=3D"Courier =
New"=20
size=3D2>.</FONT><FONT =
size=3D2>可以使用</FONT><FONT face=3D"Courier =
New"=20
size=3D2><B>-o</B></FONT><FONT =
size=3D2>选项选择其他名字=
</FONT><FONT face=3D"Courier New"=20
size=3D2>.</FONT>=20
<P><FONT face=3D"Courier New" size=3D2>GCC</FONT><FONT=20
=
size=3D2>忽略任何不需要编=
译的输入文件</FONT><FONT =
face=3D"Courier New" size=3D2>.</FONT> </P>
<DT><B><FONT face=3D"Courier New" size=3D2>-E</FONT></B>=20
<DD><FONT =
size=3D2>预处理后即停止</FONT><=
FONT face=3D"Courier New" size=3D2>,</FONT><FONT=20
size=3D2>不进行编译</FONT><FONT =
face=3D"Courier New" size=3D2>.</FONT><FONT=20
=
size=3D2>预处理后的代码送=
往标准输出</FONT><FONT face=3D"Courier =
New" size=3D2>.</FONT>=20
<P><FONT face=3D"Courier New" size=3D2>GCC</FONT><FONT=20
=
size=3D2>忽略任何不需要预=
处理的输入文件</FONT><FONT =
face=3D"Courier New" size=3D2>.</FONT> </P>
<DT><FONT face=3D"Courier New" size=3D2><B>-o </B><I>file</I> </FONT>
<DD><FONT =
size=3D2>指定输出文件为</FONT><=
FONT face=3D"Courier New"=20
size=3D2><I>file</I>.</FONT><FONT =
size=3D2>该选项不在乎</FONT><FONT =
face=3D"Courier New"=20
size=3D2>GCC</FONT><FONT =
size=3D2>产生什么输出</FONT><FONT =
face=3D"Courier New"=20
size=3D2>,</FONT><FONT =
size=3D2>无论是可执行文件=
</FONT><FONT face=3D"Courier New"=20
size=3D2>,</FONT><FONT =
size=3D2>目标文件</FONT><FONT face=3D"Courier =
New"=20
size=3D2>,</FONT><FONT =
size=3D2>汇编文件还是 =
预处理后的</FONT><FONT face=3D"Courier =
New"=20
size=3D2>C</FONT><FONT size=3D2>代码</FONT><FONT =
face=3D"Courier New" size=3D2>.</FONT>=20
<P><FONT =
size=3D2>由于只能指定一个=
输出文件</FONT><FONT face=3D"Courier New"=20
size=3D2>,</FONT><FONT =
size=3D2>因此编译多个输入=
文件时</FONT><FONT face=3D"Courier New"=20
size=3D2>,</FONT><FONT size=3D2>使用</FONT><FONT =
face=3D"Courier New"=20
size=3D2>`<B>-o</B>'</FONT><FONT =
size=3D2>选项没有意义</FONT><FONT =
face=3D"Courier New"=20
size=3D2>,</FONT><FONT =
size=3D2>除非输出一个可执=
行文件</FONT><FONT face=3D"Courier New"=20
size=3D2>.</FONT>=20
<P><FONT =
size=3D2>如果没有使用</FONT><FONT =
face=3D"Courier New"=20
size=3D2>`<B>-o</B>'</FONT><FONT size=3D2>选项</FONT><FONT =
face=3D"Courier New"=20
size=3D2>,</FONT><FONT =
size=3D2>默认的输出结果是=
</FONT><FONT face=3D"Courier New"=20
size=3D2>:</FONT><FONT =
size=3D2>可执行文件为</FONT><FONT =
face=3D"Courier New"=20
size=3D2>`<B>a.out</B>', `<I>source</I><B>.</B><I>suffix</I> =
'</FONT><FONT=20
size=3D2>的目标文件是</FONT><FONT =
face=3D"Courier New"=20
size=3D2>`<I>source</I><B>.o</B>',</FONT><FONT =
size=3D2>汇编文件是 </FONT><FONT=20
face=3D"Courier New" size=3D2>`<I>source</I><B>.s</B>',</FONT><FONT=20
size=3D2>而预处理后的</FONT><FONT =
face=3D"Courier New" size=3D2>C</FONT><FONT=20
=
size=3D2>源代码送往标准输=
出</FONT><FONT face=3D"Courier New" size=3D2>.</FONT> </P>
<DT><B><FONT face=3D"Courier New" size=3D2>-v</FONT></B>=20
<DD><FONT face=3D"Courier New" size=3D2>(</FONT><FONT =
size=3D2>在标准错误</FONT><FONT=20
face=3D"Courier New" size=3D2>)</FONT><FONT =
size=3D2>显示执行编译阶段=
的命令</FONT><FONT=20
face=3D"Courier New" size=3D2>.</FONT><FONT =
size=3D2>同时显示编译器驱=
动程序</FONT><FONT=20
face=3D"Courier New" size=3D2>,</FONT><FONT =
size=3D2>预处理器</FONT><FONT=20
face=3D"Courier New" size=3D2>,</FONT><FONT =
size=3D2>编译器的版本号</FONT><=
FONT=20
face=3D"Courier New" size=3D2>.</FONT>=20
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -