An_Introduction_to_GCC_中文

An_Introduction_to_GCC_中文

ID:40385845

大小:797.09 KB

页数:66页

时间:2019-08-01

An_Introduction_to_GCC_中文_第1页
An_Introduction_to_GCC_中文_第2页
An_Introduction_to_GCC_中文_第3页
An_Introduction_to_GCC_中文_第4页
An_Introduction_to_GCC_中文_第5页
资源描述:

《An_Introduction_to_GCC_中文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、1AnIntroductiontoGCC中文版GCC编程简介fortheGNUCompilersgccandg++作者:BrianGough译者:WalterZhou作序:RichardM.Stallman2AnIntroductiontoGCC中文版序言本序言由热心的RichardM.Stallman贡献,他是GCC的原始作者和GNU项目的奠基者。本书是GCC(GNUCompilerCollection,GNU编译器集合)的入门教程,它将教会你怎样使用GCC这个编程工具。是的,GCC是个编程工具,但它不仅止此。对计算机用户而言,它也是20年自由运动的一部分。我们都想要好的软

2、件,但对软件而言“好”意味着什么呢?简便的特征和可靠性是技术意义上的“好”,但这是不够的。好的软件必须在道德伦理上也是好的:它必须尊重用户的自由。作为一个软件用户,你有权按你认为合适的方式运行它,有权研究源代码并按你认为合适的方式进行修改,有权发行软件的拷贝给其他人,有权公布修改版本以便贡献给建立中的自由软件社区。当一个程序用这种方式尊重你的自由时,我们称其为自由软件。在GCC出现以前,已经有了另外的C,Fortran,Ada等编译器,但它们都不是自由软件。你不能够自由地使用它们。我编写GCC,以便我无需放弃我的自由就可以使用编译器。仅仅有编译器对使用计算机系统而言是不够的,

3、你需要整个操作系统。在1983年时,现代计算机的所有操作系统都不是自由的。为了有所补救,我于1984年开始开发GNU操作系统,一个属于自由软件的类Unix系统。开发GCC只是开发GNU项目的一部分。到90年代早期,接近完成的GNU操作系统由于Linux内核的加入而完整了。Linux是在1992年成为自由软件的。GNU/Linux组合而成的操作系统使得达成这样一个目标成为可能:自由地使用计算机。但自由从来不会自动地保护你,我们需要工作来保卫它。自由软件运动需要你的支持。RichardM.Stallman2004年2月3AnIntroductiontoGCC中文版介绍本书的目的是

4、介绍GNUC和C++编译器(gcc和g++)的用法。阅读了本书后,你应该能学会怎样编译一个程序和怎样使用用于优化和调试的基本编译器选项。本书不会教你C或C++语言本身,因为这样的资料在许多地方都能找到(参见【进一步阅读】)。熟悉其他系统但初次接触GNU编译器的有经验的程序员可以略过本章的前面部分【编译C程序】,【预处理】,【编译C++程序】。本章剩下的部分和其它章节应该能够为已经知道怎样使用其他编译器的程序员提供一个GCC特征的较好的概貌。GCC简史GNUC编译器(GCC)的原作者是RichardStallman,也是GNU项目的奠基者。GNU项目开始于1984年,为了提升自

5、由和计算机用户与程序员间的合作,意图创建一个作为自由软件的完整的类Unix操作系统。每个类Unix操作系统都有C编译器,而当时还没有自由编译器存在,GNU项目不得不白手起家开发一个。开发工作由来自个人和公司给予自由软件组织(FreeSoftwareFoundation)的捐献资助,该组织是一个非营利的机构,是为支持GNU项目的工作而建立的。GCC的第一版发行于1987年。作为以自由软件方式发行的第一个可移植的符合ANSIC标准的优化的编译器,这是一次重大突破。自此以后,GCC就成为自由软件开发领域最重要的工具之一。GCC编译器的一个主要修订版是1992年的2.0系列版本,它加

6、入了编译C++的能力。1997年,GCC编译器的的一个实验性分支(EGCS)被传建,以改善优化和对C++的支持。随着这些工作的进展,EGCS被采纳为GCC开发版本的新主线,这些特征也在2001年的GCC3.0发行版中被广泛采用。随着时间的流逝,GCC被扩展以支持更多的语言,包括有Fortran,ADA,Java和Object-C。GCC1这个缩略语现在是指“GNUCompilerCollection”。它的开发由GCC指导委员会(GCCSteeringCommitte)管理。这是一个由业界的GCC用户社区,研究机构和学术界代表组成的组织。GCC主要特征本节介绍一些GCC中的最

7、重要的特性。首先,GCC是一个可移植的编译器----它能在今天绝大部分平台上运行,能为许多类型的CPU提供输出。除了在个人计算机方面用到的处理器外,它也支持微控制器,DSP,和64位CPU。GCC不仅仅是个本地编译器----它还能够跨平台编译程序,即为不同于GCC本身所运行的系统生成可执行文件。这就可以为不能运行编译器的嵌入式系统编译软件。GCC是用非常专注于可移植性的C语言写成的,它能对自身进行编译,所以它很容易被移植到新系统上。GCC有多种语言前端,用于解析不同的语言。对不同CPU架构不同语言的程序

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。