第 5 章 GNU C开发环境.pptVIP

  1. 1、本文档共57页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

隐含规则隐含规则亦称内置规则,为make内部的预定义规则。在实际应用中,有些规则频繁出现且具有相似的行为模式,例如,将后缀.c的C源文件编译为后缀.o的中间文件等%.o:%.c $(COMPILE.c)$(OUTPUT_OPTION)$为了简化脚本设计,make以模式规则的方式预先进行了定义,用户无须在脚本中显式定义。模式规则若规则的依赖关系中使用了通配符%,这样的规则称为模式规则;例如,模式d%.c表示以字母d开头的任意C源文件;通常,隐含规则属于模式规则。Makefile文件objs=app.omain.oframe.ocomponent.olib.oapp:$(objs) $(CC)-o$@$^clean: rm-f*.o通过使用变量、隐含规则和模式规则,可使脚本的内容更简洁。5.3创建和使用函数库内容提要函数库概述静态库共享库动态链接器函数库概述在软件开发过程中,为了提高代码的可复用性,对于可重复使用的代码,可将它们组织成函数库,以函数库的形式供其他开发人员使用,从而提高软件的开发效率。函数库是由若干函数构成的集合,由源代码经编译后归档产生,根据函数库的使用方式,函数库可分为静态库和共享库。通常,同一份代码会以静态库和共享库两种形式供用户使用,它们在功能上并无区别。函数库的链接方式使用静态函数库链接生成的可执行文件使用共享函数库链接生成的可执行文件静态函数库共享函数库静态函数库文件命名:libxxx.a共享韩束库文件命名:libxxx.so嵌入目标对象动态加载目标对象静态库静态库由若干源代码经编译器产生的目标文件,利用ar工具归档而成。静态库的命名方式为libxxx.a,lib为前缀,xxx为库名,.a为后缀。静态库的特点使用静态库链接生成的可执行文件具有下列特点。(1)运行时无须静态库的支持。(2)较高的运行速度(3)占用较多内存和磁盘空间(4)不易维护创建和使用静态库1.创建静态库将源代码文件exam5-2.c和exam5-3.c编译并归档为静态库libdemo.a。$gcc-c-Wallexam5-2.c$gcc-c-Wallexam5-3.c$ar-crulibdemo.aexam5-2.oexam5-3.o2.使用静态库$gcc-I.exam5-5.c-oexam5-5libdemo.a或$gcc-I.-L.exam5-5.c-oexam5-5-ldemo共享库共享库由若干源代码文件经过编译生成地址无关的目标文件,由链接器链接而成。由于共享库的运行地址需在加载时确定,因此,共享库也称为动态链接库。共享库的命名方式为libxxx.so,lib为前缀,xxx为库名,.so为后缀。共享库的特点使用共享库链接生成的可执行程序具有下列特点。(1)占用较少的内存和磁盘空间。(2)多个实例仅需保留一个共享对象的内存副本。(3)容易维护(14)程序运行时需要共享库的支持。(5)程序启动速度较慢。创建和使用共享库1.创建共享库将源代码文件exam5-2.c和exam5-3.c编译并链接为共享库libdemo.so$gcc–c-fpic-Wallexam5-2.c$gcc–c-fpic-Wallexam5-3.c$gcc-shared-olibdemo.soexam5-2.oexam5-3.o2.使用共享库$gcc-I.exam5-5.c-oexam5-5libdemo.so或$gcc-I.-L.exam5-5.c-oexam5-5-ldemo第5章GNUC开发环境内容提要GNUC编译器项目管理工具:GNUmake创建和使用函数库GNUC函数库:glibc5.1GNUC编译器概述GNU计划开发了一系列编译器,他们构成GNU编译器集合GCC。用高级语言编写的源代码文件需要依次经过预处理、编译和链接,最终生成各种目标文件,例如,可执行文件等。为了提高软件的开发效率,开发人员引入了一系列工具,例如,调试器、项目管理和版本控制等软件。

文档评论(0)

释然 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档