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纯净版
相关文章
- 微软 Win11 Canary 预览版 27975 发布!附补丁文件下载
- 仅影响商店应用!Win11 微软商店取消永久停更,仅支持 1-5 周暂停
- 微软 Win11 23H2 RP 22631.6132 预览版发布!更新内容一览
- 微信电脑版 4.1.2 正式版发布:删好友可留记录
- 微软发布紧急带外更新 KB5070773 修复 WinRE USB 键鼠失灵
- Windows11 25H2镜像文件下载地址
- 英特尔发布 32.0.101.8136 显卡驱动!附文件下载
- 微软 Win11 24H2 推送 9 月可选更新补丁 KB5065789!
- 微软Win11 Dev 26220.6760(KB5065793)发布!附补丁文件下载
- 微软 Win11 Beta 预览版 Build 26120.6760 发布!
系统下载排行榜71011xp
番茄花园 Win7 64位 快速稳定版
2【纯净之家】Windows7 64位 全新纯净版
3【纯净之家】Windows7 SP1 64位 全补丁旗舰版
4JUJUMAO Win7 64位 最新纯净版
5【纯净之家】Windows7 32位 全新纯净版
6【纯净之家】Win7 64位 Office2007 办公旗舰版
7【雨林木风】Windows7 64位 装机旗舰版
8【电脑公司】Windows7 64位 免费旗舰版
9JUJUMAO Win7 64位旗舰纯净版
10【深度技术】Windows7 64位 官方旗舰版
【纯净之家】Windows10 22H2 64位 专业工作站版
2【纯净之家】Windows10 22H2 64位 游戏优化版
3【纯净之家】Windows10 企业版 LTSC 2021
4【纯净之家】Windows10企业版LTSC 2021 纯净版
5【深度技术】Windows10 64位 专业精简版
6联想Lenovo Windows10 22H2 64位专业版
7JUJUMAO Win10 X64 极速精简版
8【雨林木风】Windows10 64位 专业精简版
9深度技术 Win10 64位国庆特别版
10【纯净之家】Win10 64位 Office2007 专业办公版
【纯净之家】Windows11 23H2 64位 游戏优化版
2【纯净之家】Windows11 23H2 64位 专业工作站版
3【纯净之家】Windows11 23H2 64位 纯净专业版
4风林火山Windows11下载中文版(24H2)
5【纯净之家】Windows11 23H2 64位 企业版
6【纯净之家】Windows11 23H2 64位 中文家庭版
7JUJUMAO Win11 24H2 64位 专业版镜像
8【纯净之家】Windows11 23H2 64位专业精简版
9【纯净之家】Windows11 23H2 64位 纯净家庭版
10Windows11 23H2 64位 官方正式版 V22631.6060
深度技术 GHOST XP SP3 电脑专用版 V2017.03
2深度技术 GGHOST XP SP3 电脑专用版 V2017.02
3Win7系统下载 PCOS技术Ghost WinXP SP3 2017 夏季装机版
4番茄花园 GHOST XP SP3 极速体验版 V2017.03
5萝卜家园 GHOST XP SP3 万能装机版 V2017.03
6雨林木风 GHOST XP SP3 官方旗舰版 V2017.03
7电脑公司 GHOST XP SP3 经典旗舰版 V2017.03
8雨林木风GHOST XP SP3完美纯净版【V201710】已激活
9萝卜家园 GHOST XP SP3 完美装机版 V2016.10
10雨林木风 GHOST XP SP3 精英装机版 V2017.04
热门教程
装机必备 更多+
重装工具