浅谈Linux C语言动态库及静态库
作者:jingxian 时间:2023-08-06 07:21:54
假设在math目录下已编辑好add.c sub.c div.c mul.c func_point.c文件,func_point.c为包含main()的源文件!
动态库的制作:
方法一:
gcc -c -fPIC add.c sub.c div.c mul.c //-c表示生成.o目标文件,-f后加一些编译选项,PIC表示与位置无关
gcc -shared -o libmymath.so add.o sub.o mul.o div.o//创建共享库mymath,添加add.o,sub.o,mul.o,div.o目标文件
sudo mv libmymath.so /usr/lib
gcc func_point.c -lmymath//-l后面加动态链接库名字
方法二:
gcc -c -fPIC add.c sub.c div.c mul.c //-c:生成.o目标文件,-f后加一些编译选项,PIC表示与位置无关
gcc -shared -o libmymath.so add.o sub.o mul.o div.o//创建共享库mymath,添加add.o,sub.o mul.o div.o目标文件
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.//注意此操作后把当前目录加入环境变量中
gcc func_point.c -L. -lmymath//-l后面加动态链接库名字
方法三:
gcc -c -fPIC add.c sub.c div.c mul.c //-c:生成.o目标文件,-f后加一些编译选项,PIC表示与位置无关
gcc -shared -o libmymath.so add.o sub.o mul.o div.o//创建共享库mymath,添加add.o,sub.o mul.o div.o目标文件
sudo vi /etc/ld.so.conf//把你的动态库路径加入此文件中
sudo ldconfig
gcc func_point.c -L. -lmymath//-l后面加动态链接库名字
ldd 显示可执行程序所需的共享库。
定义好框架,不断增加动态库!!
静态库制作:
ar -crs libmymath.a add.o sub.o div.o mul.o/*创建静态库mymath,添加add.o,sub.o,mul.o,div.o,-c:创建归档文件 -r:插入 -s:若归档文件中包含了对象模式,可利用此参数建立备存文件的符号表 ar -crs libmymath.a *.o */
gcc func_point.c -L. -lmymath//-L在哪个目录下找库 -l找哪个库,-lm可以链接到标准算数库,-lpthread可以连接到Linux标准线程库
ar -d libmymath.a add.o//删除一个
ar -r libmymath.a add.o//增加一个
静态库在程序链接时用到,链接器把程序所需的代码从静态库中拷贝到可执行程序中,可执行程序会增大;动态库在程序加载时用到,程序在加载时,会先检查需要哪些动态库连接,然后从内存中找到这些动态库的地址,最后加载动态库运行程序。
标签:linux,静态库,动态库
0
投稿
猜你喜欢
Windows2003服务器安装及设置教程—软件安装与设置篇九—Zend Optimizer安装图解
2010-01-31 17:05:00
新网站如何提高流量
2008-12-01 03:09:00
马化腾:腾讯看走眼的很多 不止YouTube
2008-01-13 19:09:00
inotify-tools+rsync实时同步文件的配置方法
2021-05-08 19:59:27
如何通过IIS日志分析网站的情况
2008-07-27 16:55:00
docker centos7 安装ssh具体步骤
2022-11-27 08:10:03
生铁关键词阿里巴巴为什么在百度排名第一
2008-12-29 00:26:00
Godaddy更换IP后域名的设置 Godaddy
2010-04-19 12:37:00
centos7.2搭建nginx的web服务器部署uniapp项目
2023-10-14 01:15:07
如何宣传网站之论坛篇
2007-10-02 19:23:00
基础教程:关键词选择基本思路和分析过程
2008-12-02 11:15:00
SEO应润站细无声
2009-01-16 12:41:00
动易.net3.0版分页第二页无数据的解决方法
2009-12-20 17:45:00
GOOGLE新广告工具:自助分析 及时优化
2007-08-05 13:55:00
Godaddy:如何使用Hosting Control Center基于Web的FTP客户端 God
2010-04-23 12:31:00
Google 搜索联盟介绍
2007-11-13 12:35:00
SEO从好好学习开始 介绍七个SEO学习教程
2008-12-11 11:13:00
linux解决Tomcat内存溢出的问题
2023-10-19 00:32:12
Windows 2000 Server安全设置完全手册
2009-12-20 19:06:00
新版火狐3浏览器首日下载量突破800万
2008-06-19 13:45:00