库的一些介绍(随笔)

1、什么叫做库?
它是一些经过加密的二进制文件
2、 库分为:静态库和动态库
3、 静态库
Linux下静态库的命名规则
命名规则:例如libMytest.a
lib
xxx 库的名字
.a 结尾格式

静态库的生成步骤:
原材料:源代码文件.c .cpp
将.c文件生成.o文件、
gcc hello.c -c
将.o打包
打包需要工具ar
ar rcs 静态库的名字 原材料
例如:ar rcs libMytest.a hello.o
打包给别人使用只要把生成的库文件libMytest.a和原材料的头文件一起给别人就可以了

4、 静态库的使用
4.1 包含要 使用的头文件,然后调用里面的函数,由此编译好的源文件。
编译源文件的命令:例如:gcc main.c -I ./include/ -L ./lib -llibMytest -o hello
其中:-L:用于指定库的路径
-l:用于指定库的名字

5、 动态库的制作和使用
Linux下的动态库一般是以.so结尾
命名规则:libxxx.so
制作步骤:
将源文件生成.o文件
gcc hello.c -c -fpic(fPIC)
打包
gcc -shared hello.o -o libxxx.so

6、 动态库的使用
头文件hello.h
动态库libxxx.so
gcc main.c -I ./ -lxxx -o app
7、 动态库加载失败
命令:ldd app
ldd:是用来查看应用程序app需要哪些文件

使用环境变量
临时设置
在终端:
export LD_LIBRARY_PATH=动态库的路径:$LD_LIBRARY_PATH

永久设置:
	用户级别:
	~/.bashrc
		配置完成:
			重启客户端
			source ~/.bashrc
	系统级别:
	/etc/profile
		source/etc/profile
/etc/ld.so.cache文件列表
	找到一个配置文件
		/etc/ld.so.conf
		把动态库的绝对路径添加到文件中去
		执行一个命令:
		sudo ldconfig -v
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值