⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000002.htm

📁 一份很好的linux入门资料
💻 HTM
📖 第 1 页 / 共 3 页
字号:
<HTML><HEAD>  <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>GCC(1)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GNU&nbsp;Tools&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GCC(1)&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>名称:&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gcc,&nbsp;g++&nbsp;&nbsp;-&nbsp;&nbsp;GNU&nbsp;C&nbsp;与&nbsp;C++&nbsp;程式编译器&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>使用语法:&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gcc&nbsp;[&nbsp;option&nbsp;|&nbsp;filename&nbsp;]...&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g++&nbsp;[&nbsp;option&nbsp;|&nbsp;filename&nbsp;]...&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;其中&nbsp;option&nbsp;&nbsp;&nbsp;为&nbsp;gcc&nbsp;使用时的选项(後面会再详述),&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;而&nbsp;filename&nbsp;为欲以&nbsp;gcc&nbsp;处理的档案&nbsp;<BR>&nbsp;<BR>警告:&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;本使用手册的内容乃摘自&nbsp;gcc&nbsp;的完整使用文件,主要只写出&nbsp;gcc&nbsp;使&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;用时的选项,以方便使用&nbsp;gcc&nbsp;时查阅。&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;本使用手册除非有人自愿维护,否则本手册的内容不见得会与目前最&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;新的&nbsp;gcc&nbsp;相符。如果你发现任何不符合之处,请核对&nbsp;gcc&nbsp;的&nbsp;info&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;文件&nbsp;(译注:用&quot;info&nbsp;gcc&quot;的指令即可阅读&nbsp;gcc&nbsp;的&nbsp;info&nbsp;文件)。&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;若我们在本手册中,发现有因失去时效而足以造成严重困扰的内容,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;我们将不会继续散布这份手册。在发展&nbsp;gcc&nbsp;之外,我们并没有剩馀&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;的时间将本手册的内容随&nbsp;info&nbsp;文件一同更新。在&nbsp;The&nbsp;GNU&nbsp;project&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;中,&quot;man&nbsp;page&quot;&nbsp;这种东西将会被&nbsp;info&nbsp;文件所取代,我们不会继续&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;浪费时间在&nbsp;man&nbsp;page&nbsp;上面。&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;想看最新最完整的文件,请参考&nbsp;gcc&nbsp;的&nbsp;info&nbsp;文件,或阅读&nbsp;Using&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and&nbsp;Porting&nbsp;GNU&nbsp;CC&nbsp;(for&nbsp;version&nbsp;2.0)&nbsp;这本书。这两者均出自於&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gcc.texinfo&nbsp;这份&nbsp;Texinfo&nbsp;的原始文件。&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>说明:&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这&nbsp;C&nbsp;与&nbsp;C++&nbsp;的&nbsp;compiler&nbsp;已将产生新程式的相关程序整合起来。产&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;生一个新的程式需要经过四个阶段:前置处理、编译、组译、连结,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;而这两个编译器都能将输入的档案做不同阶段的处理。虽然原始程式&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;码的副档名可用来分辨编写原始程式码所用的语言,但不同的&nbsp;compiler&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;,其预设的处理程序却各不相同:&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gcc&nbsp;&nbsp;&nbsp;&nbsp;预设经由前置处理过(副档名为.i)的档为&nbsp;C&nbsp;语言,并於程&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;式连结阶段以&nbsp;C&nbsp;的连结方式处理。&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g++&nbsp;&nbsp;&nbsp;&nbsp;预设经由前置处理过(副档名为.i)的档为&nbsp;C++&nbsp;语言,并於程&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;式连结阶段以&nbsp;C++&nbsp;的连结方式处理。&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;原始程式码的副档名指出所用编写程式所用的语言,以及相对应的处&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;理方法:&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.c&nbsp;&nbsp;&nbsp;&nbsp;C&nbsp;原始程式&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;&nbsp;&nbsp;前置处理、编译、组译&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.C&nbsp;&nbsp;&nbsp;&nbsp;C++&nbsp;原始程式&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;&nbsp;&nbsp;前置处理、编译、组译&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.cc&nbsp;&nbsp;&nbsp;C++&nbsp;原始程式&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;&nbsp;&nbsp;前置处理、编译、组译&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.cxx&nbsp;&nbsp;C++&nbsp;原始程式&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;&nbsp;&nbsp;前置处理、编译、组译&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.m&nbsp;&nbsp;&nbsp;&nbsp;Objective-C&nbsp;原始程式&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;&nbsp;&nbsp;前置处理、编译、组译&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.i&nbsp;&nbsp;&nbsp;&nbsp;已经过前置处理之&nbsp;C&nbsp;原始程式&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;&nbsp;&nbsp;编译、组译&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.ii&nbsp;&nbsp;&nbsp;已经过前置处理之&nbsp;C++&nbsp;原始程式&nbsp;&nbsp;;&nbsp;&nbsp;&nbsp;编译、组译&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.s&nbsp;&nbsp;&nbsp;&nbsp;组合语言原始程式&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;&nbsp;&nbsp;组译&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.S&nbsp;&nbsp;&nbsp;&nbsp;组合语言原始程式&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;&nbsp;&nbsp;前置处理、组译&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.h&nbsp;&nbsp;&nbsp;&nbsp;前置处理档案(标头档)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;&nbsp;&nbsp;(不常出现在指令行)&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;其他副档名的档案是由连结程式来处理,通常有:&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.o&nbsp;&nbsp;&nbsp;&nbsp;Object&nbsp;file&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.a&nbsp;&nbsp;&nbsp;&nbsp;Archive&nbsp;file&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;除非编译过程出现错误,否则&nbsp;&quot;连结&quot;&nbsp;一定是产生一个新程式的最&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;後阶段。然而你也可以以&nbsp;-c、-s&nbsp;或&nbsp;-E&nbsp;等选项,将整个过程自四&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;个阶段中的其中一个停止。在连结阶段,所有与原始码相对应的&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.o&nbsp;档案、程式库、和其他无法自档名辨明属性的档(包括不以&nbsp;.o&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;为副档名的&nbsp;object&nbsp;file&nbsp;以及副档名为&nbsp;.a&nbsp;的&nbsp;archive&nbsp;file)都会&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;交由连结程式来处理(在指令行将那些档案当作连结程式的参数传给&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;连结程式)。&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>选项:&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;不同的选项必须分开来下:例如&nbsp;`-dr'&nbsp;这个选项就与&nbsp;`-d&nbsp;-r'&nbsp;大&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;不相同。&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;绝大部份的&nbsp;`-f'&nbsp;及&nbsp;`-W'&nbsp;选项都有正反两种形式:-fname&nbsp;及&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-fno-name&nbsp;(或&nbsp;-Wname&nbsp;及&nbsp;-Wno-name)。以下只列出非预设的那个&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;形式。&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;以下是所有选项的摘要。以形式来分类。选项的意义将另辟小节说&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;明。&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;一般性(概略、常用的)选项&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-c&nbsp;-S&nbsp;-E&nbsp;-o&nbsp;file&nbsp;-pipe&nbsp;-v&nbsp;-x&nbsp;language&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;程式语言选项&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-ansi&nbsp;-fall-virtual&nbsp;-fcond-mismatch&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-fdollars-in-identifiers&nbsp;-fenum-int-equiv&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-fexternal-templates&nbsp;-fno-asm&nbsp;-fno-builtin&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-fno-strict-prototype&nbsp;-fsigned-bitfields&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-fsigned-char&nbsp;-fthis-is-variable&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-funsigned-bitfields&nbsp;-funsigned-char&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-fwritable-strings&nbsp;-traditional&nbsp;-traditional-cpp&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-trigraphs&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;编译时的警告选项&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-fsyntax-only&nbsp;-pedantic&nbsp;-pedantic-errors&nbsp;-w&nbsp;-W&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-Wall&nbsp;-Waggregate-return&nbsp;-Wcast-align&nbsp;-Wcast-qual&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-Wchar-subscript&nbsp;-Wcomment&nbsp;-Wconversion&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-Wenum-clash&nbsp;-Werror&nbsp;-Wformat&nbsp;-Wid-clash-len&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-Wimplicit&nbsp;-Winline&nbsp;-Wmissing-prototypes&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-Wmissing-declarations&nbsp;-Wnested-externs&nbsp;-Wno-import&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-Wparentheses&nbsp;-Wpointer-arith&nbsp;-Wredundant-decls&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-Wreturn-type&nbsp;-Wshadow&nbsp;-Wstrict-prototypes&nbsp;-Wswitch&nbsp;<BR>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -