2 linux开发环境要点.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2 linux开发环境要点

linux开发环境 教学回顾 linux下的目录结构? 相对路径和绝对路径? 教学内容 linux下的编辑器 GCC编译器 GDB调试工具 Make工程管理工具 教学要求 掌握在linux下开发程序的步骤:(编辑、编译、调试、执行)。 掌握调试器gdb的使用; 掌握makefile的基本结构; linux下的编辑器 Linux支持的文本编辑器有很多, 图形模式工具:gedit、kwrite等, 文本模式编辑器:emacs、vi。 Gedit 图形文本编辑器gedit。 VI编辑器 其中vi是Linux中最基本的编辑器,虽然不像图形界面编辑器那样美观,没有使用鼠标那样方便。但vi编辑器在系统管理、服务器配置工作中永远都是无可替代的。一旦图形桌面系统崩溃,vi也许就是惟一可以依靠的编辑器了。 vim是vi的升级版,现在大部分系统都用vim代替vi。 Linux的编辑器--vim 在命令下下,直接输入vim,启动vim编辑器; GNU工具 编译工具:把一个源程序编译为一个可执行程序 调试工具:能对执行程序进行源码或汇编级调试 软件工程工具:用于协助多人开发或大型软件项目的管理,如make、CVS、Subvision 其他工具:用于把多个目标文件链接成可执行文件的链接器,或者用作格式转换的工具。 部分相关资源 / / / / / /index.php GCC简介 全称为GNU CC ,GNU项目中符合ANSI C标准的编译系统 编译如C、C++、Object C、Java、Fortran、Pascal、Modula-3和Ada等多种语言 GCC是可以在多种硬体平台上编译出可执行程序的超级编译器,其执行效率与一般的编译器相比平均效率要高20%~30% 一个交叉平台编译器 ,适合在嵌入式领域的开发编译 GCC编译器的版本 GNU Compiler Collection C, C++, Objective-C, Fortran, Java, Ada GCC编译过程 GCC的编译流程分为四个步骤: 预处理(Pre-Processing) 编译(Compiling) 汇编(Assembling) 链接(Linking) GCC简介 gcc所支持后缀名解释 .c C原始程序 .C/.cc/.cxx C++原始程序 .m Objective-C原始程序 .i 已经过预处理的C原始程序 .ii 已经过预处理的C++原始程序 .s/.S 汇编语言原始程序 .h 预处理文件(头文件) .o 目标文件 .a/.so 编译后的库文件 编译器的主要组件 分析器:分析器将源语言程序代码转换为汇编语言。因为要从一种格式转换为另一种格式(C到汇编),所以分析器需要知道目标机器的汇编语言。 汇编器:汇编器将汇编语言代码转换为CPU可以执行字节码。 链接器:链接器将汇编器生成的单独的目标文件组合成可执行的应用程序。链接器需要知道这种目标格式以便工作。 标准C库:核心的C函数都有一个主要的C库来提供。如果在应用程序中用到了C库中的函数,这个库就会通过链接器和源代码连接来生成最终的可执行程序。 GCC的执行过程 调用cpp进行预处理: 对源代码文件中的文件包含(include)、预编译语句(如宏定义define等)进行分析; 调用cc1进行编译: 生成.s为后缀的汇编程序文件; 调用as进行汇编: 汇编语言文件经过预编译和汇编之后都生成以.o为后缀的目标文件; 调用ld进行链接: 所有的目标文件被安排在可执行程序中的恰当的位置。同时,该程序所调用到的库函数也从各自所在的档案库中链接到合适的地方。 GCC的基本用法和选项 Gcc最基本的用法是∶gcc [options] [filenames] -c,只编译,不连接成为可执行文件,编译器只是由输入的.c等源代码文件生成.o为后缀的目标文件,通常用于编译不包含主程序的子程序文件。 -o output_filename,确定输出文件的名称为output_filename,同时这个名称不能和源文件同名。如果不给出这个选项,gcc就给出预设的可执行文件a.out。 -g,产生符号调试工具(GNU的gdb)所必要的符号资讯,要想对源代码进行调试,我们就必须加入这个选项。 -O,对程序进行优化编译、连接,采用这个选项,整个源代码会在编译、连接过程中进行优化处理,这样产生的可执行文件的执行效率可以提高,但是,编译、连接的速度就相应地要慢一些。 -O2,比-O更好的优化编译、连接,当然整个编译、连接过程会更慢。 -Idirname,将dirname所指出的目录加入到程序头文件目录列表中,是在预编译过程中使用的参数。 -Ldirname,将dirname所指出的目录加入到程序函数档案

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档