ubuntu C++_原创精品文档.pdfVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

pdf文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机

查看。

第30章Ubuntu中的C/C++编程工具

学习诸如C或C++之类的计算机语言要比学习shell脚本编程更加复杂和困难。您

必须学会在编程时考虑计算机的资源、计算机工作的方式,还要考虑操作系统、语法

以及各种类型的开发工具,而不是仅仅考虑那些面向用户的命令。当然,学习C或C

++的主要好处就是Linux以及与其相关的软件几乎都是开源的——若某个程序不符合

您的要求,就可以自己动手修改。几乎在所有的Linux程序的源代码中,都可以从程

序员的注释中找到很多隐藏的文档。本章关注的是Linux中与C和C++相关的工具,例

如GNUC编译器集(GNUCCompilerCollection,GCC),以及

esktopEnvironment,KDE)中的典型开发环境。本章还介绍了一些编译

的命令,以及相关编程工具的信息。30.1

BSD等类UNIX的操作系统联系最紧密的编程语言。从上世纪70年代以来,大量的UNIX

操作系统和应用程序都是用C编写的。因为C语言不依赖于任何特定的硬件架构。换句

话说就是,UNIX中的大部分代码都不知道也不关心它实际是运行在哪台计算机上的。

与机器相关的功能被隔离在了UNIX内核的少部分模块中,因此将C语言编写的程序移

植到不同的计算机架构上是非常容易的。C是编译型语言,这意味着C源代码先由预处

理器进行分析,接着转换成汇编语言,然后再转换成适应于目标CPU的机器指令。接

下来,汇编器(assembler)会根据这些机器指令创建可执行文件或是object文件。

后,在外部程序连接器(linker)的支持下将object文件连接起来。C程序存储在扩展

名为.c的文本文件中,通常至少包含一个程序或是函数,例如main(),除非这是个包

含有共享的变量或其他数据的定义或声明的include文件(扩展名为.h,也称之为头文

件)。函数是完成C程序所需要完成的任务的每一步的命令。注意:

Linux之所以能在不同的CPU上运行,就是因为其内核基本上是用C编写的。关于

从源代码编译Linux内核的更多信息,请参见第35章。30.1.1

对象的扩展。由于C++是C的超集,因此C++编译器可以正确地编译C程序,也可以使用

C++编写非面向对象的代码。反之是行不通的:C编译器不能编译C++代码。C++通过

提供面向对象设计和编码所必需的一些功能,对C的能力进行扩展。C++还支持用于特

定数据结构的函数,而且这并不需要使用基于类的面向对象技术。正是由于这些因素

,C++使得当前的UNIX正在逐步地转向面向对象的开发方式。gcc提供了对C++编程的

支持,可以使用g++编译C++代码。KDE中还有一些在构建KDE程序时可使用的C++工具

,例如moc(MetaObjectCompiler)。30.1.2

C程序要求您知道C语言的语法,对Linux内核的接口(使用1100个不同的C函数中的一

个或多个,也就是系统调用)要有所了解,还要知道如何使用Linux编程工具,例如g

cc和make。在本章中,您将会学会所有的这些概念和使用方法。首先,要确定您已

经安装了所有开发项目所需的软件开发包(可能要用到synaptic客户端;详见第7章)

。基本的开发软件需要安装50多个不同的软件包以及110MB硬盘空间。如果您计划为

Linux内核构建程序,那还需要安装内核开发包,以及180MB的存储空间(这还没有包

括构建新内核时所需的临时磁盘空间)。您还应该熟悉某种优秀的文本编辑器。尽管

GNU鼓吹者使用emacs编辑环境编写、编辑和编译程序,但是还有很多其他的开发人员

只是使用诸如vi或nano之类的编辑器编辑源代码,然后使用命令行运行开发工具。

在为GNOME或KDE编程时,您可能会发觉使用图形界面的开发项目管理工具是最方便的

,例如GNOME的Glade(GTK+用户界面构建器,glade-2)、Trolltec

计器)、KDE的KDevelop(KDE开发环境,kdevelop)。这些客户端使得

界面的绘图工具创建程序的界面,从而将您从客户端的界面设计中解放出来。它们还

可以自动地为程序生成所有必要的工程和源代码文件。详见本章稍后的“图形界面开

发工具”小节。30.1.3编程的步骤很多Linux的C程序员都是为解决现实问题而开

文档评论(0)

187****3587 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档