版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第20章Linux编程C是Linux下最常用的编程语言,Linux本身就是用C写成的。C++也经常会被用到,这是目前业界最重量级的语言。本章的目的并不是要教会读者编写C和C++程序(这也本不可能),而是要告诉C和C++程序员如何在Linux平台下工作。本章主要介绍Linux下的编辑器、编译器和调试器,最后以版本控制系统Subversion结束本章。编写Linux的黑客们让这些工具变得最适合程序员的口味,尽管最初使用起来可能会不习惯。20.1编辑器的选择尽管Vim和Emacs对于Linux初学者而言简直是两个梦魇,但仍然建议读者学会其中的一个。这两个工具的功能非常完善和强大,程序员还可以方便地对其进行扩充以设置以满足自己的需求。也许在刚上手的时候读者会对它们感到厌烦,但在真正成为一个Vim或者Emacs的高级用户后,没有人会打算放弃它们。如果读者没有时间学习这两个工具的话,那么Linux的图形化编辑器也可以提供很好的功能。总之,不必担心在Linux下如何写程序,编辑器不会为难大家。20.1.1Vim编辑器1.编辑和保存文件2.搜索字符串3.替换字符串4.针对程序员的配置5.Vim的常用命令20.1.2
Emacs编辑器1.编辑和保存文件2.移动光标3.删除和粘贴20.1.3图形化的编程工具gedit图形化编程工具20.2C和C++的编译器:gcc其实这个标题并不贴切。gcc在开发初期的确是定位在一款C编译器,从其名字就可以推测出来:GNUCCompiler。然而经过十多年的发展,gcc的含义已经悄然改变,成为GNUCompilerCollection,同时支持C、C++、ObjectiveC、Chill、Fortran和Java等语言。本节以几个实例介绍gcc编译器的用法。作为自由软件的旗舰项目,gcc的功能是如此强大,这里无法列举其每一个选项,有需要的读者可以参考GNUgcc手册。20.2.1编译第一个C程序gcc命令20.2.2同编译有关的选项20.2.3优化选项20.2.4编译C++程序:g++使用g++命令20.3调试:gdbgdb是GNU发布的一个强大的程序调试工具,也是Linux程序员不可或缺的一大利器。相比较图形化的IDE调试器,gdb在某些细节上展现出令人称羡的灵活性。gdb确实拥有图形化调试器所不具备的强大特性,这会随着使用的深入逐步体现出来。本节以一个简单的实例开头,最后给出gdb常用的命令表。更详细的命令选项可以参考gdb手册。20.3.1启动gdbgcc-g命令20.3.2获得帮助help命令20.3.3查看源代码1.list命令2.search20.3.4设置断点1.break命令2.clear命令20.3.5运行程序和单步执行1.run命令2.next命令3.continue命令20.3.6监视变量1.print命令2.watch命令20.3.7临时修改变量setvar命令20.3.8查看堆栈情况bt命令20.3.9退出gdbquit命令20.3.10命令汇总20.4与他人协作:版本控制系统生活中难免会出错,而保证所作的改动能够正确撤销非常重要。在大型软件开发中,沟通不畅很有可能导致团队成员实施了彼此矛盾的修改。如果源代码只是简单地处在一个目录中,那么事情将变得一团糟。幸运的是,本节介绍的版本控制可以有效地解决这些问题。在正式开始之前,首先看一下版本控制系统到底能做些什么。20.4.1什么是版本控制版本控制概述20.4.2安装Subversion1.下载Subversion软件2.检查Subversion的管理工具是否正确安装了。20.4.3建立项目仓库建立项目仓库。20.4.4创建项目并导入源代码svnimpo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024公司和空调维修技师劳动合同范本
- 二零二四年度砂石场股权转让合同:砂石场与投资者之间的砂石场股权转让协议
- 2024合同延期合同协议书
- 2024年度房屋租赁权益互换转让合同2篇
- 2024年互联网广告发布与合作合同
- 2024年度防洪设施运维服务合同3篇
- 2024年城市供水管道建设特许经营权协议
- 二零二四年度阳光房工程保险合同2篇
- 2024年专业起重设备买卖协议范本版B版
- 2024年度防洪港口施工合同2篇
- 劳动法律学习试题
- 夜间照明施工方案
- 人口分布的特点及影响因素课件
- 人教版2024-2025学年六年级数学上册专项提升第三单元专练篇·03:分数除法混合运算和简便计算其二(原卷版+解析)
- 2024年上海奉贤投资(集团)限公司招聘3人历年高频难、易错点500题模拟试题附带答案详解
- 2024世界邮政日主题世界邮政日活动方案
- 肺栓塞诊断与治疗指南
- 国家安全教育学习通超星期末考试答案章节答案2024年
- 足疗店禁止涉黄协议书模板
- 过敏性休克完整版本
- 变压器巡视课件
评论
0/150
提交评论