中文参考大全.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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 ,也可

文档评论(0)

kxg2020 + 关注
实名认证
内容提供者

至若春和景明,波澜不惊,上下天光,一碧万顷,沙鸥翔集,锦鳞游泳,岸芷汀兰,郁郁青青。

1亿VIP精品文档

相关文档