- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux下的C编程工具介绍
* * Linux下的C 编程相关工具 内容: 1. Vi 编辑器介绍 2. Gcc 编译器介绍 3. Gdb 调试器介绍 1. Vi 编辑器介绍 1.1 Vi 的模式 Vi 是Linux系统的第一个全屏幕交互式编辑程序,Vi 有三种模式,分别为命令行模式,插入模式及底行模式: (1) 命令行模式 用户在用Vi编辑文件时,最初进入的为命令行模式 (2) 插入模式 只有在该模式下,用户才能进行文字编辑输入,用户按“ Esc ”键回到命令行模式. (3) 底行模式 在该模式下,光标位于屏幕的底行.用户可以进行文件保存或退出操作,也可以设置编辑环境,如寻找字符串,列出行号等. 1.2 Vi 的基本流程 (1) 进入Vi ,即在命令行下键入“ vi Hello ”(文件名),此时进入的是命令行模式,光标位于屏幕的上方。 (2) 在命令行模式下键入“ i ” 进入到插入模式,在该模式下可以输入文字信息。 (3) 最后,在插入模式中,输入“ Esc ”,则当前模式转入命令行模式,输入“ :” 进入底行模式。接着输入“wq”,存盘退出。 1.3 Vi 各模式的功能键 (1) 命令行模式常用的功能键如下: (2) 插入行模式功能键,只有“ Esc ” 。 (3) 底行模式常用功能键如下: 2. GCC 介绍 GNU CC(简称为Gcc)是GNU 项目中符合ANSI C 标准的编译系统,能够编译用C、C++等语言编写的程序,而且Gcc 又是一个交叉平台编译器,它能够在当前CPU平台上为多种不同体系结构的硬件平台开发软件,因此尤其适合在嵌入式领域的开发编译。 后缀名 对应的语言 后缀名 对应的语言 .c C 原始程序 .s/.S 汇编语言原始程序 .C/.cc/.cxx C++ 原始程序 .h 预处理文件(头文件) .m Objective-C原始程序 .o 目标文件 .i 已经过预处理的C原始程序 .a/.so 汇编后的库文件 .ii 已经过预处理的C++原始程序 ? ? Gcc 所支持文件后缀名解释 2.1 Gcc 编译流程解析 Gcc 的编译流程分为了4个步骤,分别为: ? 预处理 ? 编译 ? 汇编 ? 链接 以下分析Gcc是如何完成4个步骤的 首先,有以下hello.c 源代码: 预处理阶段 在该阶段,编译器将上述代码中的stdio.h 编译进来,并且用户可以使用Gcc 的选项 “ –E” 进行查看,该选项的作用是让Gcc在预处理结束后停止编译过程。 在此处,选项“ –o ”是指定目标文件,“.i ”文件为已经过预处理的C原始程序。 以下列出了hello.i 文件的部分内容: 由此可见,Gcc确实进行了预处理,把“stdio.h”的内容插入到hello.i 文件中。 (2)编译阶段 在此阶段,Gcc 首先要检查代码的规范性、是否有语法错误等,以确定代码的实际要做的工作,在检查无误后,Gcc把代码翻译成汇编语言,可以使用“-S”选项来查看。 以下列出了hello.s文件的内容,可见已经转化为汇编了。 汇编阶段 汇编阶段是把编译阶段生成的“.s” 文件转成目标文件,使用选项“ -c” 就可以看到汇编代码已转化为 “.o” 的二进制目标代码了,命令如下: (4) 链接阶段 hello.c程序中的“printf ”函数,在“stdio.h ”中声明,最终的实现都被做到名为 libc.so.6 的库文件中去了,在没有特别指定时,Gcc 会到系统默认的搜索路径“/usr/lib” 下进行查找,也就是链接到libc.so.6 库函数中去,这样就实现函数“printf ”了,而这也就是链接的作用。使用如下命令完成链接,生成可执行文件。 *
您可能关注的文档
最近下载
- 2025至2030年中国机器人关节模组行业市场竞争态势及前景战略研判报告.docx
- 员工冲突管理培训.pptx VIP
- 新课标人教版 宾语从句 复习课件.ppt VIP
- 厂务系统介绍.ppt VIP
- 2024年10月广东省高等教育自学考试00020高等数学(一)试卷及答案.pdf
- 英语人教版八年级下册unit5 setionB 课件.ppt VIP
- 人教版新目标八年级上册英语导学案(全册).pdf VIP
- 人教版九年级英语Unit 2 reading-The Spirit of Christmas.pptx VIP
- 丹毒中医护理方案ppt课件.pptx VIP
- 人教版九年级英语unit8全单元课件.ppt VIP
文档评论(0)