- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
GNU Linux编程课件 第5章.ppt
内容提要 GNU C 编译器 项目管理工具:GNU make 创建和使用函数库 GNU C 函数库:glibc 编译与链接过程 GNU C 编译器 GNU C 编译器 GCC概述 GCC(GNU Compiler Collection)是GNU下编译器及其相关工具的集合。GCC 原名为 GNU C 语言编译器,因为它原本只能处理 C语言,随着GCC的 发展,在功能上得到了不断扩展,目前,它具有以下特点: (1) 支持多种高级语言 (2) 支持多种硬件处理器 (3) 支持多种操作系统平台 GNU C 编译器 gcc命令 语法 gcc [选项] 目标文件 源文件 功能 将C语言编译为目标代码或可执行文件。 gcc 命令选项 项目管理工具:GNU make 项目管理工具:GNU make 概念 当开发规模较大的软件,需要编译和链接多个目标文件时,用户只需将具体的操作步骤按一定的语法规则以命令的方式写入文本文件,一般命名为Makefile,此后,用户只需在命令提示符下输入make命令,make工具会根据Makefile文件中的定义自动执行一系列编译和链接工作.当某个文件被修改,make工具只执行依赖于该文件的一系列规则。 Makefile文件的语法结构 Makefile文件由一系列规则构成,每条规则的语法结构为: 目标1 目标2...目标n : 依赖文件列表 tab命令1 tab命令2 ...... tab命令n 实例分析 实例分析 # script5-2_makefile appexam:main.o app.o mod.o lib.o gcc -o appexam main.o app.o mod.o lib.o main.o:main.c app.h gcc -c main.c app.o:app.c app.h gcc -c app.c mod.o:mod.c gcc -c mod.c lib.o:lib.c lib.h gcc -c lib.c clean: rm -f *.o Makefile中的变量 1. 自定义变量 语法 变量名= 字符串 功能 将字符串赋给变量名,在makefile中变量无数据类型。 引用: $(变量名) 2. 环境变量 Make在运行过程中,将环境变量转化为同名同值的make变量,用户也可在Makefile中对这些变量进行重新定义。 Makefile中的变量 Makefile中的变量 实例分析 # script5-5_makefile OBJS=main.o app.o mod.o lib.o appexam:$(OBJS) $(CC) -o $@ $^ main.o:main.c app.h $(CC) -c -o $@ $ app.o:app.c app.h $(CC) -c -o $@ $ mod.o:mod.c $(CC) -c -o $@ $ lib.o:lib.c lib.h $(CC) -c -o $@ $ clean: rm -f *.o Makefile文件中的潜规则 1. 隐含规则 GNU make定义了了内置的隐含规则,在不给出产生目标的命令时,由make自动添加。 例如, demo.o:demo.c make 自动添加下列规则: $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $ -o $@ Makefile文件中的潜规则 2. 后缀规则 后缀规则定义了将一个具有某个后缀的文件(例如,.c 文件)转换为具有另外一种后缀的文件(例如,.o 文件)的方法。 例如: 将 .c 文件转换为 .o 文件的后缀规则可定义为: .c.o: $(CC) $(CCFLAGS) $(CPPFLAGS) -c -o $@ $ Makefile文件中的潜规则 3. 模式规则 模式规则是对具体规则的进一步抽象,定义了一类具有相同行为特点的规则。 例如, %.o: %.c $(CC) -c $ -o $@ 创建和使用函数库 静态函数库与共享函数库 静态库 概念 静态库由ar工具创建。经编译的应用程序和静态库链接时,链接器将静态库中被调用的对象嵌入至可执行映像文件中,这样,在没有静态库的环境下,应用程序也能独立运行。静态库文件的命名规则是libxxx.a,以lib开头,.a作为文件名后缀。 ar命令 语法 ar [选项] [归档文件] 目标文件列表 功能 用于创建、修改和查询归档文件。 ar命令选项 实例分析 $ gcc -c -Wall exam
您可能关注的文档
最近下载
- 模拟电路基础教程完整全套教学课件.docx VIP
- 人工智能在初中物理教学中的应用研究.docx VIP
- 状元宴“谢师宴”菜单设计.docx VIP
- 师范生教学基本功大赛之口语表达--试题集锦①.pdf VIP
- 《海洋温差能发电技术》课件.ppt VIP
- 西门子 ONE_应用_SINUMERIK ONE 快速入门手册-V1.0.pdf VIP
- 张仰森___人工智能原理和应用(第二版)习题答案及解析.doc VIP
- 七年级数学人教版 上册知识点梳理.pdf VIP
- 三通阀体锻件多向模锻成形模具及其成形方法.pdf VIP
- T_CIET 469—2024(小型电动环卫机具技术条件).pdf VIP
原创力文档


文档评论(0)