静态库和动态库的区别

库的作用:

库是共享程序代码的方式,一般分为静态库和动态库。库实现了某些特定的功能模块化。方便分享和使用!

异同点:

2.静态库和动态库有什么特点?

- 不同点:

静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝。

动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序可以共用,节省内存。

- 共同点:

静态库和动态库都是闭源库,只能拿来满足某个功能的使用,不会暴露内部具体的代码信息,而从github上下载的第三方库大多是开源库。

生成静态库:

当前文件:add.c 、 add.h 、 main.c 、 sub.c 、 sub.h

//生成静态库
 ar -rc libmtmath.a   add.o  sub.o
//列出静态库中的文件
ar -t  libmymath.a
//使用静态库
gcc main.c  -L.  -llibmymath
//指定路径   指定库名

生成动态库:

gcc -fPIC -c sub.c add.c
gcc -shared -o libmymath.so *.o
//使用动态库
gcc main.o -o main -L. -lhello
发布了150 篇原创文章 · 获赞 280 · 访问量 32万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 黑客帝国 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览