网站大量收购独家精品文档,联系QQ:2885784924

南邮Linux-第5章GNUC开发环境资料.ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实例分析 $ gcc -fPIC -c exam5-2.c # 生成目标文件exam5-2.o $ gcc -fPIC -c exam5-3.c # 生成目标文件exam5-3.o # 生成共享库libdemo.so $ gcc -shared exam5-2.o exam5-3.o -o libdemo.so 使用共享库 $ gcc exam5-5.c -L. -ldemo -o exam5-5 注意,在当前目录下只有共享库libdemo.so。若在当前目录下同时存在libdemo.a和libdemo.so,默认情况下,首先使用共享库,若需使用静态库,可加上选项-static,例如: $ gcc -static exam5-5.c -L. -ldemo -o exam5-5 4、共享库特点 1、不能离开外部库的支持 2、运行速度比较慢 3、执行文件体积小 4、容易维护 5.3.3动态链接库 与一般使用共享库不同,通常,应用程序在启动时,不立即加载共享库,而是在需要时,动态加载共享库。 在这种情况下,称共享库为动态链接库。 动态链接库的使用 自学 程序5-6 5.4 GNU C 函数库:glibc 1.glibc概述 1、glibc属于GNU的自由软件。glibc封装了内核接口的硬件特性,实现了对多种标准接口协议的支持,同时,也提供了众多与内核无关的函数集。 2、可在不同的操作系统和硬件平台迁移 3、glibc支持ISO C,POSIX,SVID等。 2、Linux系统中的glibc 头文件 /usr/include: // 系统头文件 /usr/local/include: // 本地头文件 函数库 /lib: // 系统必备共享库 /usr/lib: // 标准共享库和静态库 /usr/X11R6/lib: // X11R6 的函数库 /usr/local/lib: // 本地函数库 Linux系统调用与glibc的关系 程序5-8 #include stdio.h int main(void) { printf(“hello”); } 同时参见程序5-7,使用软中断实现字符串输出。 Linux系统调用与glibc的关系 1、glibc函数库是应用程序和Linux内核之间的中间层。 2、它封装了Linux内核接口的硬件特性。 3、为应用程序提供标准应用程序编程接口。 课堂作业1 根据程序5-2、5-3、5-4和5-5,编写对应的make文件,同时要求有删除产生的.o文件的功能。 每人拿出一张纸,课堂完成。 课堂作业1答案 exam5-2.o:exam5-2.c gcc -c exam5-2.c exam5-3.o:exam5-3.c gcc -c exam5-3.c exam5-5.o:exam5-5.c exam5-4.h gcc -c exam5-5.c exam5-5:exam5-5.o exam5-3.o exam5-2.o gcc -o exam5-5 exam5-5.o exam5-3.o exam5-2.o clean: rm *.o 课堂作业2 将课堂作业1的三个.o文件用自定义变量替换来处理。目标文件和依赖文件用自动变量来替换。 课堂作业2答案 OBJS=exam5-5.o exam5-3.o exam5-2.o exam5-2.o:exam5-2.c gcc -c $ exam5-3.o:exam5-3.c gcc -c $ exam5-5.o:exam5-5.c exam5-4.h gcc -c $ exam5-5:exam5-5.o exam5-3.o exam5-2.o gcc -o $@ $(OBJS) clean: rm *.o 第5章 GNU C 开发环境 郑谦益 韩京宇 内容提要 5.1 GNU C 编译器 5.2 项目管理工具:GNU make 5.3 创建和使用函数库 5.4 GNU C 函数库:glibc 5.1.1目标代码生成 5.1.2 GCC概述 GCC概述 GCC(GNU Compiler Collection)是GNU下编译器及其相关工具的集合。GCC 原名为 GNU C 语言编译器,目前在功能上得到了不断扩展: (1) 支持多种高级语言 (C,C++,JAVA,FORTRAN,PASCAL) (2) 支持多种硬件处理器 (x86,ARM,PowerPC) (3) 支持多种操作系统平台(LINUX,WINDOWS,SOLARIS) 5.1.3 gcc 编译器

文档评论(0)

三哥 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档