欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Linux下C语言开发工具.ppt

    • 资源ID:70792502       资源大小:323.50KB        全文页数:37页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Linux下C语言开发工具.ppt

    Linux高级程序设计(第2版)Linux高级程序设计(第二版)人民邮电出版社出版杨宗德编著2009年9月1/28/20231Linux高级程序设计(第2版)第2章Linux下C语言开发工具 1 12 2常用编辑工具常用编辑工具 GCC编译工具编译工具 3 3Make工具与工具与Makefile文件文件 4 4常用调试工具常用调试工具5 5Linux库文件使用与创建库文件使用与创建 6 6Autoconf/Automake自动化工具自动化工具 1/28/20232Linux高级程序设计(第2版)VIM编辑器 1/28/20233Linux高级程序设计(第2版)配置文件VIM的配置文件为“/.vimrc”cp/usr/share/vim/vim61/vimrc_example /.vimrc添加内容到配置文件/.vimrc中1/28/20234Linux高级程序设计(第2版)Source Insight工具 Source Insight是一个图形化的源代码查看工具(当然也可以做为编辑工具),如果一个项目的源代码较多,此工具可以很方便的查找出源代码之间的依赖关系,例如,某一个宏的定义位置,某一个自定义的数据类型的原始定义。应用编程所用的头文件(主要位于/usr/include目录下)下载到Windows平台,从而建立各文件间的关联,以便查找各函数声明,变量类型。1/28/20235Linux高级程序设计(第2版)第2章Linux下C语言开发工具 1 12 2常用编辑工具常用编辑工具 GCC编译工具编译工具 3 3Make工具与工具与Makefile文件文件 4 4常用调试工具常用调试工具5 5Linux库文件使用与创建库文件使用与创建 6 6Autoconf/Automake自动化工具自动化工具 1/28/20236Linux高级程序设计(第2版)编译C到可执行文件过程(1)预处理(也称预编译,Preprocessing):命令GCC首先调用cpp进行预处理,在预处理过程中,对源代码文件中的文件包含、预编译语句进行分析,使用-E参数。(2)编译(Compilation):调用cc进行编译,这个阶段根据输入文件生成以.s为后缀的汇编文件,使用-s参数。(3)汇编(Assembly):汇编过程是针对汇编语言的步骤,调用as进行工作,将.S和.s为后缀的汇编语言文件经过预编译和汇编成以.o为后缀的目标文件,使用-c参数。(4)连接(Linking):当所有的目标文件都生成之后,调用ld来完成最后的关键性工作,这个阶段就是连接。在连接阶段,所有的目标文件被安排到可执行程序中恰当的位置上,同时,该程序所调用到的库函数也从各自所在的档案库中连到合适的地方,使用-o参数。1/28/20237Linux高级程序设计(第2版)不同后缀所标识的程序语言及处理 1/28/20238Linux高级程序设计(第2版)其它常用选项-o output_filename:把文件输出到output_filename,这个名称不能和源文件同名。如果不给文件名,GCC就将文件输出到a.out。-g:产生符号调试工具(GNU的Gdb)所必要的标准调试信息,要想对源代码进行调试,就必须加入这个选项。-O:对程序进行优化编译、连接。采用这个选项,整个源代码会在编译、连接过程中进行优化处理,这样可以提高可执行文件的执行效率,但是,编译、连接的速度就相应地要慢一些。-O2:比-O的优化级别更高,能更好的优化编译、连接。但整个编译、连接过程会更长。-I dirname:在头文件的搜索路径列表中添加dirname目录,是在预编译过程中使用的选项。-L dirname:在库文件的搜索路径列表中添加dirname目录。1/28/20239Linux高级程序设计(第2版)头文件搜索路径 1/28/202310Linux高级程序设计(第2版)第2章Linux下C语言开发工具 1 12 2常用编辑工具常用编辑工具 GCC编译工具编译工具 3 3Make工具与工具与Makefile文件文件 4 4常用调试工具常用调试工具5 5Linux库文件使用与创建库文件使用与创建 6 6Autoconf/Automake自动化工具自动化工具 1/28/202311Linux高级程序设计(第2版)Makefile优点利用Make工具,可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序而言,使用make工具和makefile文件可以清晰地理顺各个源文件之间的关系。1/28/202312Linux高级程序设计(第2版)Makefile示例1/28/202313Linux高级程序设计(第2版)第2章Linux下C语言开发工具 1 12 2常用编辑工具常用编辑工具 GCC编译工具编译工具 3 3Make工具与工具与Makefile文件文件 4 4常用调试工具常用调试工具5 5Linux库文件使用与创建库文件使用与创建 6 6Autoconf/Automake自动化工具自动化工具 1/28/202314Linux高级程序设计(第2版)GDB调试工具 完成如下的调试任务:(1)设置断点。(2)监视程序变量的值。(3)程序的单步执行。(4)修改变量的值。1/28/202315Linux高级程序设计(第2版)GDB可用命令 1/28/202316Linux高级程序设计(第2版)GDB示例见教材。1/28/202317Linux高级程序设计(第2版)strace strace用来跟踪一个进程的系统调用或信号产生的情况,而ltrace用来跟踪进程调用库函数的情况。常用的三个命令行参数:-f:除了跟踪当前进程外,还跟踪其子进程。-o file:将输出信息写到文件file中,而不是显示到标准错误输出(stderr)。-p pid:绑定到一个由pid对应的正在运行的进程。此参数常用来调试后台进程。1/28/202318Linux高级程序设计(第2版)第2章Linux下C语言开发工具 1 12 2常用编辑工具常用编辑工具 GCC编译工具编译工具 3 3Make工具与工具与Makefile文件文件 4 4常用调试工具常用调试工具5 5Linux库文件使用与创建库文件使用与创建 6 6Autoconf/Automake自动化工具自动化工具 1/28/202319Linux高级程序设计(第2版)Linux库文件管理方式 静态库。在Linux中,以.a为后缀,如libtest.a。应用程序从静态库中直接拷贝函数到二进制映像文件。共享库,在Linux操作系统中,以libxxx.so.x.x为格式命名。可执行文件在运行时将函数代码从共享库文件中读出,从而间接引用。1/28/202320Linux高级程序设计(第2版)库函数基本路径/lib:系统必备共享库/usr/lib:标准共享库和静态库/usr/local/lib:本地函数库 1/28/202321Linux高级程序设计(第2版)库文件搜索顺序(1)首先在“LD_LIBRARY_PATH”环境变量所设置的路径下查找(一般都没有给此环境变量赋值);(2)搜索动态装载器在/etc目录下的缓存文件/etc/ld.so.cache(此文件由命令ldconfig创建更新)。(在Redhat 9中,直接由/etc/ld.so.conf文件配置)。因此,如果要使用自己创建的共享库文件(静态库直接在编译时指定即可),则需要将共享库拷贝到想要搜索路径下或者指定该库的具体路径。1/28/202322Linux高级程序设计(第2版)ldd命令-查看到某可执行程序库清单 1/28/202323Linux高级程序设计(第2版)创建静态库 源文件信息。其中,“libhello.c”为要构建的库文件源文件,“libhello.h”为调用此库文件的头文件,“usehello.c”为测试程序。生成目标文件 使用ar命令创建静态库 1/28/202324Linux高级程序设计(第2版)使用静态库 头文件 和库文件信息1/28/202325Linux高级程序设计(第2版)使用此库文件应用示例 编译 运行1/28/202326Linux高级程序设计(第2版)共享库创建 1/28/202327Linux高级程序设计(第2版)共享库创建示例查看源文件,“libhello.c”为要构建的库文件源文件,“libhello.h”为调用此库文件的头文件,“usehello.c”为测试程序。1/28/202328Linux高级程序设计(第2版)构建共享库目标文件 1/28/202329Linux高级程序设计(第2版)编译共享库并创建连接 1/28/202330Linux高级程序设计(第2版)使用共享库 准备文件头文件libhello.h:以知道有哪些函数,完成怎么样的功能,返回值以及参数情况。库文件libhello.so.1.0及其链接libhello.so:库函数的二进制代码位置 1/28/202331Linux高级程序设计(第2版)文件内容1/28/202332Linux高级程序设计(第2版)编译连接 1/28/202333Linux高级程序设计(第2版)运行 如果希望在使用连接器时不使用-Ldirectory标识就可以查找到该库,则可以采用以下方式之一:把此库拷贝到/usr/lib或者/lib文件夹中,或者在此两个文件夹任意一个中创建一个到该库的快捷方式,并命名为libname.so。如果库所在路径没有在/usr/lib和/lib文件夹下,需要将该路径添加到文件“/etc/ld.so.conf”中,每一行增加一个路径,完成以上设置后,然后运行ldconfig命令更新库信息。1/28/202334Linux高级程序设计(第2版)第2章Linux下C语言开发工具 1 12 2常用编辑工具常用编辑工具 GCC编译工具编译工具 3 3Make工具与工具与Makefile文件文件 4 4常用调试工具常用调试工具5 5Linux库文件使用与创建库文件使用与创建 6 6Autoconf/Automake自动化工具自动化工具 1/28/202335Linux高级程序设计(第2版)自动创建Makefile文件流程 1/28/202336Linux高级程序设计(第2版)示例见教材。1/28/202337

    注意事项

    本文(Linux下C语言开发工具.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开