首页 > 其他 > 详细

静态库和动态库的使用

时间:2016-02-11 22:39:48      阅读:178      评论:0      收藏:0      [点我收藏+]

关于库
================
1,静态库和动态库
1.1 静态库:书店(卖出去) (优点:速度稍快,不依赖库 缺点:浪费存储空间)
1.2 动态库:图书馆(借用) (缺点:速度稍慢,依赖于库 优点:节省大量空间)(更常用)

2,制作静态库:(以example1.c、example2.c,假设这些都是不含main函数的代码)
gcc example1.c -o example1.o -c
gcc example2.c -o example2.o -c
ar rcs libxxx.a example1.o example2.o (将example1.o和example2.o放到libxxx.a中)

3,制作动态库:
gcc example1.c -o example1.o -c
gcc example2.c -o example2.o -c
gcc -shared -fPIC -o libyyy.so example1.o example2.o (将example1.o和example2.o放到libyyy.so中)


4,使用库文件:(假设main.c代码中使用了example1.c和example2.c的代码)
gcc main.c -o main -L库所在路径 -lxxx
gcc main.c -o main -L库所在路径 -lyyy

注意:
使用静态库编译的程序,可以不依赖于库直接运行。
使用动态库编译的程序,运行时,必须确保程序可以找到该动态库:
1. 将该动态库直接放置到系统的标准库路径下(比如/lib 、/usr/lib)
2. 将库所在路径设置到环境变量LD_LIBRARY_PATH中: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:库所在路径

静态库和动态库的使用

原文:http://www.cnblogs.com/defen/p/5186701.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!