Linux下静态库生成和使用
系统大全为您提供
一.静态库概念1.库是预编译的目标文件(object files)的集合,它们可以被链接进程序。静态库以后缀为”.a”的特殊的存档(archive file)存储。2.标准系统库可在目录/usrb与b中找到。比如,在类Unix系统中C语言的数序库一般存储为文件/usrbbm.a。该库中函数的原型声明在头文件/usr/include/math.h中。3.C标准库本身存储为/usrbbc.a,它包含ANS1/ISO标准指定的函数,比如printf。对每一个C程序来说,libc.a都默认被链接。4.一个事例:在tiger.c程序中调用一个数学库libm.a中sin函数。
如果直接使用gcc tiger.c则会出现错误:undefined reference to ‘sin’;1>函数sin(),未在本程序中定义也不在默认库’libc.a’中,除非被指定,编译器也不会链接’libm.a’。2>为使编译器能将sin()链接进主程序‘test.c’,需要提供数学库’libm.a’.。3>使用方法:gcc tiger.c /usrbbm.a -o tiger则可以编译通过。为了避免在命令行中指定长的路径,编译器为链接函数库提供了快捷的选项“-l”。因此可以使用下面的方法:gcc tiger.c -lm –o tiger注:选项-lNAME使用连接器尝试链接系统库目录中的函数库文件libNAME.a。 二.生成和使用静态库1.静态库是obj文件的一个集合,通常静态库以”.a”为后缀。静态库由程序ar生成。2.静态库的优点是可以在不用重新编译程序库代码的情况下,进行程序的重新链接,这种方法节省了编译过程的时间(在编译大型程序的时候,需要花费很长的时间)。静态库的另一个优点是开发者可以提供库文件给使用的人员,不用开放源代码,这是库函数提供者经常采用的手段。3.通过一个实例来了解如何自己生成静态库和使用静态库首先生成静态库1>在test文件夹下有三个文件:main.c ,tiger.c,tiger.h;a. main.c文件中的内容:
#include<stdio.h>#include”tiger.h” //注意include该文件,并不是仅链入.a文件即可int main(void){ printf(“sum=%d ”,add(3,5)); return 0; }
b.tiger.h文件中的内容:
#ifndef __TIGER__#define __TIGER__int add(int a,int b);#endifc.tiger.c文件中的内容
int add(int a,int b){ return a+b;}2>创建静态库的最基本步骤是生成目标文件tiger.ogcc -o tiger.o -c tiger.c3>然后生成静态库libadd.a:ar -rcs libadd.a tiger.o 其次使用静态库1>使用gcc命令带上库文件就OK了 gcc -o main main.c libadd.a2> 也可以使用命令”-l库名”进行,库名是不包含库函数库和扩展名的字符串。 gcc -o main main.c -ladd上面的命令执行完后,系统返回:Cannot find –ladd说明:上面的命令将在系统默认的路径西安查找add函数库,并把他链接到要生成的目标程序上。系统提示没有找到库文件add,这是由于add库函数没有在系统默认的查找路径下,我们需要认为指定库函数的路径,例如:库文件和当前编译文件在同一目录下: gcc -o main main.c -L ./ -ladd系统就能正常生成可执行文件。说明: 在使用-l选项时,-o选项的目的名要在-l链接的库名之前,否则gcc会认为-l是生成的目标而出错。
以上就是系统大全给大家介绍的如何使的方法都有一定的了解了吧,好了,如果大家还想了解更多的资讯,那就赶紧点击系统大全官网吧。
本文来自系统大全http://www.win7cn.com/如需转载请注明!推荐:win7纯净版
相关文章
- 纯净版 Win10 直接硬盘安装方法
- 微软为 Win10 推送 4 月扩展安全更新 KB5082200
- 微软宣布 2026 年全面重构 Win11 系统
- 微信电脑版 4.1.9 正式版发布:可发送语音消息
- 微软 XGP 价格下调!《使命召唤》新作首发不进订阅库
- 免费领!4 月 21 日起,华为门店送 Pura 90 同款特调
- Epic 喜加一:《The Stone of Madness》免费领取
- 电脑终于能发语音!微信 PC 版 4.1.9 内测更新上线
- Win11 26H1 四月更新 KB5083768 发布,提升传输稳定性
- 微软 Win11 24H2 / 25H2 发布 4 月累积更新补丁 KB5083769
系统下载排行榜71011xp
【番茄花园】Win7 64位 快速稳定版
2【纯净之家】Windows7 32位 全新纯净版
3【纯净之家】Win7 64位 Office2007 办公旗舰版
4【雨林木风】Windows7 64位 装机旗舰版
5JUJUMAO Win7 64位旗舰纯净版
6【电脑公司】Windows7 64位 免费旗舰版
7【游戏专用】Windows7 64位 装机旗舰版
8【深度技术】Windows7 64位 官方旗舰版
9【纯净之家】Windows7 SP1 32位 全补丁旗舰版
10【番茄花园】Windows7 64位 旗舰装机版
【纯净之家】Windows10 22H2 64位 企业版
2【纯净之家】Windows10 32位 官方正式版
3【雨林木风】Windows10 64位稳定版系统
4【技术员】Windows10 64位 系统纯净版
5【技术员】Windows10 64位 纯净版iso镜像
6JUJUMAO Win10 64位 纯净版镜像
7【番茄花园】Windows10 64位 专业版镜像
8【雨林木风】Windows10 64位 官方专业版
9【技术员】Windows10 64位 LTSC 纯净版
10【技术员】Windows10 64位 纯净装机版
【纯净之家】Windows11 23H2 64位 纯净专业版
2【纯净之家】Windows11 23H2 64位 游戏优化版
3【纯净之家】Windows11 23H2 64位 企业版系统
4【纯净之家】Windows11 23H2 64位 中文家庭版
5风林火山Windows11下载中文版(24H2)
6雨林木风 Win11 25H2 超级纯净版系统
7JUJUMAO Win11 24H2 64位 精简版镜像
8萝卜家园 Win11 25H2 专业版镜像
9JUJUMAO Win11 24H2 64位 专业版镜像
10【纯净之家】Windows11 23H2 64位 纯净家庭版
深度技术 GHOST XP SP3 电脑专用版 V2017.03
2深度技术 GGHOST XP SP3 电脑专用版 V2017.02
3萝卜家园 GHOST XP SP3 万能装机版 V2017.03
4番茄花园 GHOST XP SP3 极速体验版 V2017.03
5雨林木风 GHOST XP SP3 官方旗舰版 V2017.03
6Win7系统下载 PCOS技术Ghost WinXP SP3 2017 夏季装机版
7萝卜家园 GHOST XP SP3 完美装机版 V2016.10
8电脑公司 GHOST XP SP3 经典旗舰版 V2017.03
9雨林木风GHOST XP SP3完美纯净版【V201710】已激活
10雨林木风 GHOST XP SP3 精英装机版 V2017.04
热门教程
装机必备 更多+
重装工具