- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第21章 Linux基本编程 主要内容 了解什么是GNU计划及其意义 熟悉各种GNU计划实用程序 熟悉gcc编译器的用法和执行过程 了解多文件项目 熟悉makefile的结构 熟悉gdb调试程序 21.1 GNU计划的实用程序 GNU (它代表“GNU is not UNIX”)是由Richard stallman开发的一个与UNIX兼容的软件系统。大多数Linux软件是经过自由软件基金会(Free Software Foundation)的GNU()公开认证授权的,因而通常称为GNU软件。许多流行的Linux实用程序如C编译器、shell和编辑器都是GNU软件应用程序。 GNU计划包括上百个命令、工具和工具的集合以及文档。如果没有它们,Red Hat Linux不会像现在这样有这么丰富的内容。 21.2 编程环境 各种编程语言或shell程序脚本的源代码文件可以用任何一种文本编辑器来打开和编辑。 在Linux开发程序一般来说有两个主要的编辑器 vi/vim Emacs 21.3 gcc的介绍 gcc简介 Linux系统下的gcc(GNU C Compiler)是GNU推出的功能强大、性能优越的多平台编译器,是GNU的代表作品之一。 gcc是可以在多种硬体平台上编译出可执行程序的超级编译器,其执行效率与一般的编译器相比平均效率要高20%~30%。 gcc的执行过程 虽然我们称gcc是C语言的编译器,但使用gcc由C语言源代码文件生成可执行文件的过程不仅仅是编译的过程,而是要经历四个相互关联的步骤∶ 预处理(也称预编译,Preprocessing) 编译(Compilation) 汇编(Assembly) 连接(Linking)。 gcc的基本用法和选项 在使用gcc编译器的时候,我们必须给出一系列必要的调用参数和文件名称。 gcc的错误类型及对策 gcc编译器如果发现源程序中有错误,就无法继续进行,也无法生成最终的可执行文件。 C语法错误 头文件错误 档案库错误 未定义符号 21.4 GNU make 介绍 make是所有想在Unix /Linux系统上编程的用户必须掌握的工具。如果你写的程序中没有用到 make ,则说明你写的程序只是个人的练习程序,不具有任何实用的价值。也许这么说有点偏激,但make实在是应该用在任何稍具规模的程序中的。 多文件项目 为什么要使用多文件项目 何时分解项目 怎样分解项目 GNU make工具 如果,用户有在其他软件平台上开发软件的经验,那么这些程序对于用户来讲是很好学的。 使用make来编译程序 基本 Makefile 结构 编写 make 规则 Makefile变量 21.5 调试工具:gdb 启动gdb 首先重新编译程序,然后启动gdb。 $cc –g –o debug2 debug2.c $gdb debug2 gdb的功能 堆栈跟踪 监视你程序中变量的值; 设置断点以使程序在指定的代码行上停止执行; 一行行的执行代码。 gdb基本命令 gdb 支持很多的命令使你能实现不同的功能。这些命令从简单的文件装入到允许你检查所调用的堆栈内容的复杂命令。 21.6 Linux C程序的框架 关于程序的存放目录 所有用户皆可使用的系统程序存放在/bin中 超级用户才能使用的系统程序放在/sbin中 所有用户皆可使用的应用程序存放在/usr/bin中 超级用户才能使用的应用程序存放在/usr/sbin中 所有用户皆可使用的与本地机器有关的程序存放在/usr/local/bin中 超级用户才能使用的与本地机器有关的程序存放在/usr/local/sbin中 与X Window有关的程序存放在/usr/X11R6/bin中 头文件 在C和很多计算机语言中,我们需要利用头文件来定义结构、常量以及声明函数的原型。几乎所有C的头文件都放在/usr/include及其子目录下; 函数库 函数库是以重复利用为目的,经过编译的函数集合。一般来说总是围绕某一功能来开发函数库的,比如大家熟知的stdio(STandarD Input Output)库就是输入、输出函数的集合,dbm则是数据库函数的集合。 标准的系统函数库都放在/lib和/usr/lib两个目录下,C编译器(确切地说是在连接的时候)需要这些函数库。 静态函数库 这是最简单的函数库形式,链接后可执行文件在没有此函数库的情况下可以照常运行。 静态函数库一般也叫做档案(archives),所以静态函数库以.a结尾 比如/usr/lib/libc.a是标准的C函数库,而/usr/X11/libX11.a是X窗口函数库。 共享函数库 静态函数库的缺点:当我们同时运行很多使用同一函数库中的函数的程序的时候,我们必须
您可能关注的文档
- Linux操作系统实验与实训 教学课件 作者 何文华 梁竞敏 实验10 Linux内核编译.ppt
- Linux操作系统实验与实训 教学课件 作者 何文华 梁竞敏 实验11 Linux Web服务器的配置.ppt
- Linux操作系统实验与实训 教学课件 作者 何文华 梁竞敏 实验12 DNS服务器的配置.ppt
- Linux操作系统实验与实训 教学课件 作者 何文华 梁竞敏 实验13 DHCP服务器的配置.ppt
- Linux操作系统实验与实训 教学课件 作者 何文华 梁竞敏 实验14 Linux的FTP服务.ppt
- Linux操作系统实验与实训 教学课件 作者 何文华 梁竞敏 实验15 邮件服务器的配置.ppt
- Linux操作系统实验与实训 教学课件 作者 何文华 梁竞敏 实验16 NIS服务器的建立.ppt
- Linux操作系统实验与实训 教学课件 作者 何文华 梁竞敏 实验17 IP路由的配置1.ppt
- Linux操作系统实验与实训 教学课件 作者 何文华 梁竞敏 实验18 Linux环境下ADSL拨号上网.ppt
- Linux操作系统实用教程 第1章 Linux概况.ppt
- Linux基础教程(第3版) 教学课件 作者 Linux基础教程(第3版) 教学课件 作者 978 7 302 28872 5 chapter22.ppt
- Linux基础教程(第3版) 教学课件 作者 Linux基础教程(第3版) 教学课件 作者 978 7 302 28872 5 chapter23.ppt
- Linux实用技能教程——基于Fedora和RHEL5 教学课件 作者 孙永道 电子课件 第1章 Linux入门.ppt
- Linux实用技能教程——基于Fedora和RHEL5 教学课件 作者 孙永道 电子课件 第2章安装和启动Linux.ppt
- Linux实用技能教程——基于Fedora和RHEL5 教学课件 作者 孙永道 电子课件 第3章 基础操作.ppt
- Linux实用技能教程——基于Fedora和RHEL5 教学课件 作者 孙永道 电子课件 第4章 系统启动配置.ppt
- Linux实用技能教程——基于Fedora和RHEL5 教学课件 作者 孙永道 电子课件 第5章 常用命令.ppt
- Linux实用技能教程——基于Fedora和RHEL5 教学课件 作者 孙永道 电子课件 第6章 用户管理.ppt
- Linux实用技能教程——基于Fedora和RHEL5 教学课件 作者 孙永道 电子课件 第7章 基础网络配置.ppt
- Linux实用技能教程——基于Fedora和RHEL5 教学课件 作者 孙永道 电子课件 第8章 实现资源共享.ppt
最近下载
- 疟疾考核试题库270题.doc VIP
- 新教材2024_2025学年高中数学第一章数列综合测评北师大版选择性必修第二册.doc VIP
- 校园小品搞笑励志剧本_七人校园搞笑小品剧本.docx VIP
- 通桥(2016)2229-Ⅰ(31.5m)预制有砟轨道预制后张法预应力混凝土简支整孔箱梁(双线、单箱单室).docx VIP
- 抖音运营企业抖音推广方案怎么做.pdf VIP
- 人教版(2024)七年级下册英语Unit 7 A Day to Remember单元集体备课教案(共5课时).docx VIP
- 2025年上海春考英语试卷 .pdf VIP
- 农贸市场管理规章制度.docx VIP
- 好的作文开头结尾 摘抄大全.pdf VIP
- 《运动处方》课件——第二章 健康评估与风险筛查.pptx VIP
文档评论(0)