静态库和动态库制作及使用

静态库和动态库理论比对

静态库在链接时直接将库导入程序,而动态库则是将库调入内存,什么时候用什么时候调。静态库用在对空间要求较低,对时间要求较高的核心程序中,如操作系统开机例程。动态库用在对时间要求较低,对空间要求较高的程序中

制作静态库及使用步骤

1、将要制作静态库的.c文件生成.o文件 gcc -c add.c -o add.o

2、使用ar工具制作静态库

ar rcs lib库名.a add.o

-c,创建静态库文件

-s,充值静态库索引

-r,将objfile文件插入静态库尾或者替换静态库中同名文件

3、编译静态库到可执行文件中:

gcc test.c -o test.out lib库名.a 【库所在目录(默认为当前目录)】

动态库的制作

1、编写库的源代码 fun.c

2、将其编译成.o文件

gcc -fpic -c fun.c -o fun.o

  • -fpic创建与地址无关的编译程序, 目的就是为了能够在多个应用程序间共享.

3、将.o文件生成动态库

gcc -shared fun.o -o libfun.so

  • -shared: 参数的作用是告诉编译器生成一个动态链接库。

4、编写测试代码main.c 并编译

gcc -o main main.c -L. –lfun

-I(大写的i  Include):告诉编译器在哪里找头文件
​
-L(库Lib):告诉编译器在哪里找库文件
​
-l   (小写的L):要链接哪个动态库,写库名(即add)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值