- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《gcc中文参考大全
GCC技术参考大全 GCC ( GNU Compiler Collection , GNU 编译程序集合)是最重要的开放源码软件。事实上,其他所有开放源码软件都在某种层次上依赖于它。甚至其他语言,例如 Perl 和 Python ,都是由 C 语言开发的,由 GNU 编译程序编译的。 GCC 编译程序的历史很有趣,远远不止是一个时间和事件的列表。这个软件对于整个自由软件运动而言具有根本性的意义。事实上,如果没有它或类似的软件,就不可能有自由软件运动。 GCC 为 Linux 的出现提供了可能性。 本章概要介绍了 GCC 编译程序集合,以及它的相关工具。这些编译中使用的工具可以跟踪源代码、编辑文件、控制编译过程、提供调试信息。 本章介绍的内容包括一个列表以及对处理过程的一些描述。该列表描述了组成编译程序集合的文件和程序。之后介绍了将源文件变成可连接和可执行程序的步骤。 1.1 GNU GCC 是 GNU 项目的一个产品。该项目始于 1984 年,目标是以自由软件的形式开发一个完整的类 UNIX 的操作系统。像所有这种规模的软件一样, GNU 项目也经历了一些波折,但目标最终还是实现了。实际上现在一个功能完备的类 UNIX 操作系统—— Linux ,已经在世界上广为流传了,并被不计其数的公司、政府和个人成功应用。而该系统及其所有工具和应用都是基于 GCC 的。 可 用于 Linux 以及其他系统的自由软件的范围很广泛,并且还在日益增长。作为整体 GNU 项目的一部分而开发的免费 UNIX 被列在 /directory 中的自由软件目录( Free Software Directory )中。 成千上万的程序员都在为各种 GNU 项目(及其他自由软件项目)作贡献,而实际上所有这些都在某种程度上依赖于 GCC 。 ? ? 1.2 测量编译程序 我 们可以在编译的速度、生成代码的速度,以及生成代码的尺寸上对编译程序进行比较。但是很难进行更深入的比较,因为虽然可以得出一些数字,却很难对这些数字 赋予某种实际意义。例如,源文件的数目( make 程序的描述文件、配置文件、头文件、可执行代码,等等)显示共有超过 15 000 个的各种文件。源文件编译成的目标文件、库和可执行程序的数目成千增长。代码的行数(这 15 000 多个文件的行数)超过 3 700 000 。从任何标准来看,这都是一个大程序。 代码的质量参差不齐——因为有如此之多的程序员参与开发过程,而且代码注释中也 内嵌了大量的内部文档,所以文档的质量和数量也有变化。所幸的是,有大量的程序员正在努力地提高代码和注释的质量。而且,也不是必须阅读内嵌的注释才能使 用编译程序。但如果要对编译程序做些工作,你会发现还是要花些时间阅读代码中内嵌的注释。 测量编译程序的质量的惟一方 法是询问它的用户。全世界的用户数目很难估计(自由软件就有这样的特性),但一定是巨大的。它被用于某些版本的 UNIX ,这些 UNIX 自带系统供应商提供的本地编译程序。事实上,我知道一个很大的 UNIX 供应商就在自己内部的项目中使用 GCC ,即便该供应商也有自己的很优秀的编译程序。 GCC 编译程序从未停止过改进。如同第 2 章所描述的,通过下载某个特定版本的源代码便可安装已经发布的某个版本的 GCC ,也可以直接下载必威体育精装版的(或测试中的)版本。测试中的版本时刻都在改进。有些更正是修改已有的 bug ,还有一些是为了加入新的语言和功能,还有一些是为了去掉某些不再应用的功能。如果你曾经使用过 GCC ,隔一段时间再用必威体育精装版版,一定会发现一些变化。 1.3 命令行选项 每个命令行选项都以一个或一对连字号开始。例如,下面的命令行会编译 ANSI 标准 C 程序 muxit.c ,再产生一个非连接的目标文件 muxit.o : gcc -ansi -c muxit.c -o muxit.o 这些单字母选项后面跟着的名字可以和字母之间留有空格。例如,选项 -omuxit.o 和 -o muxit.o 是一样的。 下面的命令用 -v 代表详细说明,而 --help 会打印可用的选项,而且会打印一个详细的包括所有命令行选项的列表,包括那些适用于特定语言的选项。 gcc -v --help 有可能构造一些实际不做任何事情的命令行。例如,下面的命令将目标文件交给编译程序,然后指定 -c 选项防止激活连接程序: gcc -c brookm.o 所有的命令行选项大致可分为三类: · 指定语言 GCC 编译程序有能力编译多种语言,有些选项只可用于其中的一两种。例如, -C89 选项只应用于 C 语言,指定适用于 1989 年的标准。 · 指定平台 GCC 编译程序可以为多种平台生成目标代
文档评论(0)