库的制作相关信息

通过把函数进行打包,然后形成相应的库,供其他的主函数使用。

静态库

以.a进行结尾,把库的东西(头与库文件进行打包到之中)打包到可执行程序之中。

静态库不是使用相对的位置信息,直接的信息。

bank.o:bank.c
	gcc -o bank.o -c bank.c //形成.o的文件。
libmymath.a:bank.o
	ar -rc mymath.a bank.o  //ar为归档案的工具,r(replace),c(create)创新。

把.o的文件打包成为.a,进行相关的处理内容。


静态库的使用需要想要的条件,需要搜索路径的确定。


直接搜索

gcc bank.c -L 路径 -l mymath   // 第一个为lication(位置),Library(库的名称) 

由于环境变量指定的目录(LIBRARY_PATH),进行把库的目录放在这里使用(export)进行变化。


把生成的库放在/usr/lib(整个系统的大库)或者/usr/local/lib(不同用户的库)

自己不要轻易使用自己书写的库放到系统的库文件之中,防止出现与系统库重复,造库的崩溃。

动态库

以.so结尾,使用相对的位置信息(以代码的最开始为0位置,然后进行累计的相关的操作)。就是在形成页表过程之中将其的地址放入进去,形成页表(储存了具体代码虚的地址,与真实的在磁盘的地址相对应的关系)。
在这里插入图片描述

多增加的-shared 表示生成共享数据库的相关的格式,-fPIC产生位置无关的码(相对的位置信息)。

使用静态库

搜寻相应的位置信息,这个与上面的基本上相同。

直接拷贝到/usr/lib之中,这里与上面也是相同的。或者更改(LD_LIBRARY_PATH)环境变量的参数地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值