📄 gnu gcc 手册 1.mht
字号:
size=3D2>,</FONT><FONT size=3D2>例如</FONT><FONT =
face=3D"Courier New" size=3D2>`<B>int=20
foo</B> ();',</FONT><FONT size=3D2>按</FONT><FONT =
face=3D"Courier New"=20
size=3D2>C</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"=20
size=3D2>,</FONT><FONT =
size=3D2>这样的函数</FONT><FONT =
face=3D"Courier New"=20
size=3D2><B>foo</B></FONT><FONT size=3D2>在</FONT><FONT =
face=3D"Courier New"=20
size=3D2>C++</FONT><FONT =
size=3D2>中意味着参数为空=
</FONT><FONT face=3D"Courier New"=20
size=3D2>.</FONT>=20
<P></P>
<DT><B><FONT face=3D"Courier New" size=3D2>-trigraphs</FONT></B>=20
<DD><FONT size=3D2>支持</FONT><FONT face=3D"Courier New" =
size=3D2>ANSI C trigraphs.=20
`<B>-ansi</B>'</FONT><FONT =
size=3D2>选项隐含声明了</FONT><=
FONT face=3D"Courier New"=20
size=3D2>`<B>-trigraphs</B>'.</FONT>=20
<P></P>
<DT><B><FONT face=3D"Courier New" size=3D2>-traditional</FONT></B>=20
<DD><FONT =
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><FONT=20
size=3D2>详见</FONT><FONT face=3D"Courier New" =
size=3D2>GNU C</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>=20
<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>C++</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>C),=20
`<B>-traditional</B>'</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>this</B></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>-fthis-is-variable</B>'</FONT><FONT=20
=
size=3D2>选项的效果一样</FONT><=
FONT face=3D"Courier New" size=3D2>.</FONT>=20
<P></P>
<DT><B><FONT face=3D"Courier New" size=3D2>-traditional-cpp</FONT></B> =
<DD><FONT =
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><FONT=20
=
size=3D2>特别是上面提到有=
关预处理器的内容</FONT><F=
ONT face=3D"Courier New" size=3D2>,</FONT><FONT=20
size=3D2>但是不包括 </FONT><FONT =
face=3D"Courier New"=20
size=3D2>`<B>-traditional</B>'</FONT><FONT =
size=3D2>选项的其他效应</FONT><=
FONT=20
face=3D"Courier New" size=3D2>.</FONT>=20
<P></P>
<DT><B><FONT face=3D"Courier New" =
size=3D2>-fdollars-in-identifiers</FONT></B>=20
<DD><FONT =
size=3D2>允许在标识符</FONT><FONT =
face=3D"Courier New"=20
size=3D2>(identifier)</FONT><FONT =
size=3D2>中使用</FONT><FONT face=3D"Courier New"=20
size=3D2>`<B>$</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>C++).</FONT><FONT =
size=3D2>你可以指定 </FONT><FONT =
face=3D"Courier New"=20
size=3D2>`<B>-fno-dollars-in-identifiers</B>'</FONT><FONT=20
=
size=3D2>选项显明禁止使用=
</FONT><FONT face=3D"Courier New" size=3D2>`<B>$</B>'</FONT><FONT=20
size=3D2>符</FONT><FONT face=3D"Courier New" size=3D2>. (GNU =
C++</FONT><FONT=20
size=3D2>在某些 =
目标系统缺省允许</FONT><F=
ONT face=3D"Courier New"=20
size=3D2>`<B>$</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></P>
<DT><B><FONT face=3D"Courier New" size=3D2>-fenum-int-equiv</FONT></B> =
<DD><FONT size=3D2>允许</FONT><FONT face=3D"Courier New"=20
size=3D2><B>int</B></FONT><FONT =
size=3D2>类型到枚举类型</FONT><=
FONT face=3D"Courier New"=20
size=3D2>(enumeration)</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"=20
size=3D2>GNU C++</FONT><FONT size=3D2>允许从 =
</FONT><FONT face=3D"Courier New"=20
size=3D2><B>enum</B></FONT><FONT size=3D2>到</FONT><FONT =
face=3D"Courier New"=20
size=3D2><B>int</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></P>
<DT><B><FONT face=3D"Courier New" =
size=3D2>-fexternal-templates</FONT></B>=20
<DD><FONT =
size=3D2>为模板声明</FONT><FONT =
face=3D"Courier New" size=3D2>(template=20
declaration)</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"=20
size=3D2>(template function),</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>`<B>#pragma implementation</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>#pragma interface</B>'=20
(</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>`<B>-fexternal-templates</B>'</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>(template instantiation) </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>typedef</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=20
size=3D2>相对应的</FONT><FONT face=3D"Courier =
New" size=3D2>,</FONT><FONT=20
=
size=3D2>如果编译时使用缺=
省选项</FONT><FONT face=3D"Courier New"=20
size=3D2>`<B>-fno-external-templates</B>',</FONT><FONT=20
=
size=3D2>所有模板实例明确=
的设为内置</FONT><FONT face=3D"Courier =
New" size=3D2>.</FONT>=20
<P></P>
<DT><B><FONT face=3D"Courier New" size=3D2>-fall-virtual</FONT></B>=20
<DD><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>new</B></FONT><FONT size=3D2>或</FONT><FONT =
face=3D"Courier New"=20
size=3D2><B>delete</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>这不表明每次调用=
成员函数都将通过内&=
#37096;虚函数表</FONT><FONT face=3D"Courier New" =
size=3D2>.</FONT><FONT =
size=3D2>有些情况下</FONT><FONT =
face=3D"Courier New"=20
size=3D2>,</FONT><FONT =
size=3D2>编译器能够判断出=
可以直接调用某个虚&=
#20989;数</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></P>
<DT><B><FONT face=3D"Courier New" size=3D2>-fcond-mismatch</FONT></B>=20
<DD><FONT =
size=3D2>允许条件表达式的=
第二和第三个参数的&=
#31867;型不匹配</FONT><FONT face=3D"Courier New" =
size=3D2>.</FONT><FONT =
size=3D2>这种表达式的值是=
</FONT><FONT face=3D"Courier New"=20
size=3D2>void.</FONT>=20
<P></P>
<DT><B><FONT face=3D"Courier New" =
size=3D2>-fthis-is-variable</FONT></B>=20
<DD><FONT size=3D2>允许对</FONT><FONT =
face=3D"Courier New"=20
size=3D2><B>this</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>C++).</FONT><FONT =
size=3D2>&#
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -