欢迎来到天天文库
浏览记录
ID:45254568
大小:377.50 KB
页数:37页
时间:2019-11-11
《Linux下C语言开发工具》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Linux高级程序设计(第二版)人民邮电出版社 出版杨宗德 编著2009年9月第2章Linux下C语言开发工具12常用编辑工具GCC编译工具3Make工具与Makefile文件4常用调试工具5Linux库文件使用与创建6Autoconf/Automake自动化工具VIM编辑器8/23/20213人民邮电出版社出版 杨宗德编著配置文件VIM的配置文件为“~/.vimrc”cp/usr/share/vim/vim61/vimrc_example~/.vimrc添加内容到配置文件~/.vimrc中8/23/20214人民邮电出版社出版 杨宗德
2、编著SourceInsight工具SourceInsight是一个图形化的源代码查看工具(当然也可以做为编辑工具),如果一个项目的源代码较多,此工具可以很方便的查找出源代码之间的依赖关系,例如,某一个宏的定义位置,某一个自定义的数据类型的原始定义。应用编程所用的头文件(主要位于/usr/include目录下)下载到Windows平台,从而建立各文件间的关联,以便查找各函数声明,变量类型。8/23/20215人民邮电出版社出版 杨宗德编著第2章Linux下C语言开发工具12常用编辑工具GCC编译工具3Make工具与Makefile文件4常
3、用调试工具5Linux库文件使用与创建6Autoconf/Automake自动化工具编译C到可执行文件过程(1)预处理(也称预编译,Preprocessing):命令GCC首先调用cpp进行预处理,在预处理过程中,对源代码文件中的文件包含、预编译语句进行分析,使用-E参数。(2)编译(Compilation):调用cc进行编译,这个阶段根据输入文件生成以.s为后缀的汇编文件,使用-s参数。(3)汇编(Assembly):汇编过程是针对汇编语言的步骤,调用as进行工作,将.S和.s为后缀的汇编语言文件经过预编译和汇编成以.o为后缀的目标文
4、件,使用-c参数。(4)连接(Linking):当所有的目标文件都生成之后,调用ld来完成最后的关键性工作,这个阶段就是连接。在连接阶段,所有的目标文件被安排到可执行程序中恰当的位置上,同时,该程序所调用到的库函数也从各自所在的档案库中连到合适的地方,使用-o参数。8/23/20217人民邮电出版社出版 杨宗德编著不同后缀所标识的程序语言及处理8/23/20218人民邮电出版社出版 杨宗德编著其它常用选项-ooutput_filename:把文件输出到output_filename,这个名称不能和源文件同名。如果不给文件名,GCC就将文
5、件输出到a.out。-g:产生符号调试工具(GNU的Gdb)所必要的标准调试信息,要想对源代码进行调试,就必须加入这个选项。-O:对程序进行优化编译、连接。采用这个选项,整个源代码会在编译、连接过程中进行优化处理,这样可以提高可执行文件的执行效率,但是,编译、连接的速度就相应地要慢一些。-O2:比-O的优化级别更高,能更好的优化编译、连接。但整个编译、连接过程会更长。-Idirname:在头文件的搜索路径列表中添加dirname目录,是在预编译过程中使用的选项。-Ldirname:在库文件的搜索路径列表中添加dirname目录。8/23
6、/20219人民邮电出版社出版 杨宗德编著头文件搜索路径8/23/202110人民邮电出版社出版 杨宗德编著第2章Linux下C语言开发工具12常用编辑工具GCC编译工具3Make工具与Makefile文件4常用调试工具5Linux库文件使用与创建6Autoconf/Automake自动化工具Makefile优点利用Make工具,可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序而言,使用make工具和makefile文件可以清晰地理顺各个源文件之间的关系。8/23/202112人民邮电出版社出版 杨宗
7、德编著Makefile示例8/23/202113人民邮电出版社出版 杨宗德编著第2章Linux下C语言开发工具12常用编辑工具GCC编译工具3Make工具与Makefile文件4常用调试工具5Linux库文件使用与创建6Autoconf/Automake自动化工具GDB调试工具完成如下的调试任务:(1)设置断点。(2)监视程序变量的值。(3)程序的单步执行。(4)修改变量的值。8/23/202115人民邮电出版社出版 杨宗德编著GDB可用命令8/23/202116人民邮电出版社出版 杨宗德编著GDB示例见教材。8/23/202117人民
8、邮电出版社出版 杨宗德编著stracestrace用来跟踪一个进程的系统调用或信号产生的情况,而ltrace用来跟踪进程调用库函数的情况。常用的三个命令行参数:-f:除了跟踪当前进程外,还跟踪其子进程。-o
此文档下载收益归作者所有