第6章 常用开发工具ppt课件.ppt

第6章 常用开发工具ppt课件.ppt

ID:59209323

大小:177.00 KB

页数:56页

时间:2020-09-26

第6章 常用开发工具ppt课件.ppt_第1页
第6章 常用开发工具ppt课件.ppt_第2页
第6章 常用开发工具ppt课件.ppt_第3页
第6章 常用开发工具ppt课件.ppt_第4页
第6章 常用开发工具ppt课件.ppt_第5页
资源描述:

《第6章 常用开发工具ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第六章常用开发工具6.1gcc编译系统6.2gdb程序调试工具6.3程序维护工具make6.1gcc编译系统6.1.1C语言编译过程6.1.2文件名后缀6.1.3gcc编译器简介6.1.4gcc编译器的工作过程6.1.5gcc命令行选项6.1.1C语言编译过程C语言的编译过程可分为四个阶段:1、预处理(Preprocessing)对源程序中的伪指令(即以#开头的指令)和特殊符号进行处理的过程。伪指令包括:宏定义指令条件编译指令头文件包含指令6.1.1C语言编译过程C语言的编译过程可分为四个阶段:2、

2、编译(Compilation)编译就是将源程序转换为计算机可以执行的二进制代码。说明:在Linux下,目标文件的缺省后缀为.o编译程序将通过词法分析和语法分析,将其翻译成为等价的汇编代码。在使用gcc进行编译时,缺省情况下,不输出这个汇编代码的文件。如果需要,可以在编译时指定-S选项。这样,就会输出同名的汇编语言文件。6.1.1C语言编译过程C语言的编译过程可分为四个阶段:3、汇编(Assembly)汇编的过程实际上是将汇编语言代码翻译成机器语言的过程。产生一个扩展名为.o的目标文件。4、链接(Li

3、nking)目标代码不能直接执行,要想将目标代码变成可执行程序,还需要进行链接操作。才会生成真正可以执行的可执行程序。链接操作最重要的步骤就是将函数库中相应的代码组合到目标文件中。6.1.2文件名后缀gcc可以针对支持不同的源程序文件进行不同的处理,文件格式以文件的后缀来识别。文件名后缀文件类型.cc源文件.C.cpp.cc.c++.cxxc++源文件.h头文件.i预处理后的c源文件.s汇编程序文件.o目标文件.a静态链接库.so动态链接库6.1.3gcc编译器简介gcc(GNUCompilerCo

4、llection)在Linux平台上最常用的C语言编译系统是gcc,它是GNU项目中符合ANSIC标准的编译系统。gcc的使用格式:gcc[options][filenames]说明:当不用任何选项时,gcc将会生成一个名为a.out的可执行文件。6.1.3gcc编译器简介例子:在linux上编译一个c程序。#includeintmain(){printf("helloworld.");return0;}6.1.4gcc编译器的工作过程1、预处理(Preprocessing)2

5、、编译(Compilation&Assembly)源代码转换为汇编语言(在编译时选择-S选项,可以看到生成的汇编代码.s文件)汇编代码(.s)转换为目标代码(.o)3、链接(Linking)将目标代码与各库函数进行链接并重定位。生成可执行程序。6.1.5gcc命令行选项预处理选项选项说明-Dname定义一个宏name,并可以指定值-Idir指定头文件的路径dir。先在指定的路径中搜索要包含的头文件,若找不到,则在标准路径(/usr/include,/usr/lib及当前工作目录)上搜索。-E只对文件

6、进行预处理,不进行编译、汇编、链接,生成的结果送标准输出-ofile将输出写到指定的文件file中6.1.5gcc命令行选项例子:使用-I选项包含保存在非标准位置中的头文件。#gcc-I/usr/openwin/includefile.c例子:使用-D选项定义宏,其作用等价于在源文件中使用宏定义指令。main(){printf("display-Dvariable%s",DOPTION);printf("hello,everybody!!");}#gcc-DDOPTION='"testing

7、-D"'hello.c6.1.5gcc命令行选项编译程序选项选项说明-ofile1file2将文件file2编译成可执行文件file1,如果未使用该选项,则可执行文件放在a.out中-S只进行编译,不进行汇编,生成汇编代码文件.s-c只把源文件编译成目标代码.o,不进行汇编、链接,用于实现对源文件的分别编译-g在目标代码中加入供调试程序gdb使用的附加信息-v显示gcc版本-Wall显示警告信息6.1.5gcc命令行选项例子:在gcc中使用-W控制警告信息。#gcc-Wall-ohello1hell

8、o1.c例子:使用gcc的-g选项来产生调试符号,#gcc-g-otest1test1.c6.1.5gcc命令行选项例子:多文件的编译。#includemain(){intr;printf("enteraninteger,please!");scanf("%d",&r);square(r);return0;}#includeintsquare(intx){printf("Thesquare=%d",x*x);return(x

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。