ch06 Linux系统编程概述.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux系统编程概述 福建师范大学数学与计算机科学学院 林惠君 Linux编程基础 对Linux的全面掌握并精通,至少应该掌握4部分内容 操作系统级别上的各种操作 对Linux内核源码的剖析 Shell脚本编程 Linux上的编程 众所周知,Linux是通过C语言编写的,因此它对C/C++具有天生的良好支持,而且在Linux下使用C/C++编程的开发人员也比较庞大。 Linux下的编程工具 文本编辑器:vi 编译工具:gcc 调试工具:gdb 项目文件管理工具:make Linux下的编程工具 文本编辑器:vi 编译工具:gcc 调试工具:gdb 项目文件管理工具:make 文本编辑工具vi 什么vi :vi是Linux/Unix下最常用的文本编辑器。 vim:vim是vi的升级版本,它不仅兼容vi的所有命令,而且还加入了一些新的特性。 vi的三种工作方式 编辑方式 光标定位 搜索字符串 替换和删除 剪切和粘贴 撤销和重复 插入方式 进入插入方式 退出插入方式 命令方式 退出命令 行号与文件 字符串搜索 正文替换 删除正文 恢复文件 选项设置 shell切换 Linux下的编程工具 文本编辑器:vi 编译工具:gcc 调试工具:gdb 项目文件管理工具:make GNU C/C++编译器 开发人员使用某种编程语言编写好程序源代码,通过该语言的编译器可以编译为可执行的二进制目标文件,目标文件可以供用户将来执行使用。 Linux上常用的开发语言是C/C++。 Linux上最常用的编译器是gcc,它是GNU的C/C++编译器。 gcc是GNU Compiler Collection的缩写。最初是作为C语言的编译器,现在已经支持多种语言了,如C、C++、Java、Pascal、Ada、COBOL语言等。 gcc支持多种硬件平台,其执行效率与一般的编译器相比平均效率要高20%-30%。 安装gcc编译环境 在安装RedHat 9过程中选择安装“开发工具”后,系统便会自动安装gcc编译环境。 如果在安装系统时没有选择安装“开发工具”,则在RedHat图形界面选择“添加/删除应用程序”菜单项。 安装gcc编译环境 也可以在shell方式下安装gcc编译环境,安装过程中会提示安装具有依赖关系的库(通常为glibc),需要用户先手工依次安装这些库。 使用shell方式适合没有安装光盘的情况,事先通过网络或者其他方式将安装gcc需要的包下载到本地硬盘上。 首先,看一下没有安装gcc编译环境时,系统中带有“gcc”名称的rpm包,同理,查看系统没装gcc时与glibc有关的rpm包 。 安装gcc编译环境 在shell方式下,通过以下命令可以查看到底gcc是否已经安装 没有找到gcc命令,表示当前系统没有安装gcc编译器。 通过网络下载得到的gcc的rpm包,使用rpm命令安装的过程中出现需要与该包依赖的某些库没有安装,则再下载这些库的rpm包,直到能够安装gcc包为止。 gcc的基本使用方法 在Linux下,使用gcc命令编译C/C++源文件,该命令与大多数Linux命令一样也可以带参数,甚至gcc命令带的参数更复杂。 假设一个程序只有一个源文件hello.c,其内容如下 gcc的基本使用方法 使用-o参数表示编译链接后的输出文件名为hello。如果不使用-o参数,编译链接后的输出文件名一律为a.out gcc的实现机制 用gcc编译的C/C++程序生成可执行文件看起来好像是一步就完成了,但实际上它要经历如下步骤: 预处理(Preprocessing):这一步需要分析各种命令,如#include、#define、#if等。gcc调用cpp程序来进行预处理工作。 编译(Compilation):根据用户输入文件产生汇编语言,由于通常是立即调用汇编程序,所以其输出一般不保存在文件中。gcc调用ccl程序进行编译工作。 汇编(Assembly):将汇编语言作为输入,产生具有.o扩展名的目标文件。gcc用as程序进行汇编工作。 链接(Linking):各个目标文件.o被放在可执行文件的适当位置上,该程序引用的函数也放在可执行文件中(对使用共享库的程序稍有不同)。gcc调用链接程序ld来完成最终的任务。 gcc对文件扩展名的解释 gcc编译程序过程示意图 gcc的基本用法和选项 gcc最基本的用法是:gcc [options] [filenames] 其中options就是编译器所需要的参数,filenames给出相关的文件名称。 gcc常用参数 gcc示例 gcc -E hello.c -o hello.i(预处理) gcc -S hello.i -o hello.s(编译) gcc -c hello.s -o hello.

文档评论(0)

wxc6688 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档