- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式系统设计与开发第6章x Linux下的C编程基础
C语言回顾 BELL实验室、Dennis Ritchie在B语言的基础上发展起来的。 87年,ANSI美国国家标准协会,制定了ANSI C标准,规范了与硬件的无关性 C语言是中级语言 C语言是结构化的语言 C语言是功能强大的语言 C语言是可移植性很强的语言 LINUX下C语言编程环境 编辑器 类似于WINDOWS下的记事本,完成程序文本的录入工作,LINUX下常用的编辑器有Vi,Emacs 编译链接器 源代码生成可执行代码的过程 编译链接过程非常复杂 词法、语法、语义分析 中间代码的生成和优化 符号表的管理 出错处理 Linux下常用的编译器是GCC编译器 调试器 方便程序员调试程序的工具 LINUX下常用的调试器Gdb 项目管理器 类似与VC中的“工程”,对源代码进行合理有效的组织 LINUX下的项目管理器是Make 启动vi 建立一个名字为test.txt文件,使用命令行启动vi [root @test root]# vi test.txt Vi启动画面 Vi的模式 Vi的模式有三种:一般模式、编辑模式、命令模式 一般模式: 以 vi 处理一个文件的时候,一进入该档案就是一般模式了。 在这个模式中,可以使用“上下左右”按键来移动光标,您可以使用“删除字符”或“删除整行”来处理档案内容,也可以使用“复制、粘贴”来处理文件数据。 Vi的模式 编辑模式: 在一般模式中可以处理删除、复制、贴上等动作,但是却无法编辑。按下“i, I, o, O, a, A, r, R”字母之后才会进入编辑模式。 注意:在 Linux 中,按下上述的字母时,在画面的左下方会出现“ INSERT 或 REPLACE ”的字样,才可以输入文本 按下“Esc”键即可退出编辑模式,回到一般模式。 Vi的模式 命令模式: 在一般模式当中,输入“: 或 / “就可以将光标移动到最底下那一行。 在这个模式当中,可以提供您”搜寻资料“的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号 等等的动作则是在此模式中实现的。 模式转换图 例子 1.Vi test.txt 。启动vi,进入一般模式 例子 2.按下i,进入编辑模式,开始输入文字 例子 3.按下 [ESC] 按钮回到一般模式; 编辑完毕后,按下 [Esc] 键,回到一般模式画面左下角的 – INSERT – 消失。 例子 4.在一般模式中按下“:wq” 储存后离开 vi ! 命令内容说明 命令内容说明 命令内容说明 命令内容说明 命令内容说明 命令内容说明 什么是GCC 早期:GCC-GNU C Complier 现在:GCC-GNU Complier Collection GNU推出的功能强大、优秀的跨平台编译器 支持主流的CPU平台,完成从源程序向特定CPU硬件平台上目标代码的转换。 GCC所支持的源程序 GCC工具链 GCC是一组编译工具的总称,包括 C编译器:cc,ccl,cclplus,gccgcc++编译器:c++,cclplus,g++ 源码预处理器:cpp,cpp0 库文件:libgcc.a,libgcc_eh.a,libgcc_s.so,libiberty.a,libstdc++.[a,so],libsupc++.a GCC工作过程 GCC将C源程序、C++源程序、汇编程序等编译、链接成可执行程序,分为4步: 预处理(Pre-processing):调用cpp命令,分析源代码中的各种伪指令,如#include,#define 编译(Compiling):预处理结束,调用ccl命令进行编译,将预处理后的源代码解释为汇编语言 汇编(Assembling):调用as命令,把汇编程序会变成目标代码 链接(Linking):调用ld命令,把目标代码按照链接规则(链接脚本)链接起来,形成可执行文件,链接过程中,可使用系统中的标准函数、函数库 可执行文件 GCC经过上述4步,最终形成可执行程序,可执行文件没有统一的后缀名。 根据文件属性来区分该文件是否能被执行。 默认可执行文件为. elf(executive linked file)格式,elf格式由若干段(section)组成,如果没有特别指明,由标准c源代码生成的目标文件中包含以下段:.text(正文段) 包含程序的指令代码,.data(数据段)包含固定的数据,如常量,字符串等,.bss(未初始化数据段) 包含未初始化的变量和数组等。 如果GCC编译时没有明确给出输出文件名,则系统自动生成一个a.out的可执行文件。 GCC的用法 GCC是linux/UNIX下基于命令行的编译器。 语法:gcc [选项] 要编译的文件 [选项] [目标文件],目标文件可以缺省,默认生成的可执行文件命名为:编译文件.out options:编译时需要
原创力文档


文档评论(0)