网站运营
位置:首页>> 网站运营>> 浅谈Linux C语言动态库及静态库

浅谈Linux C语言动态库及静态库

作者:jingxian  发布时间:2023-08-06 07:21:54 

标签:linux,静态库,动态库

假设在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//增加一个

静态库在程序链接时用到,链接器把程序所需的代码从静态库中拷贝到可执行程序中,可执行程序会增大;动态库在程序加载时用到,程序在加载时,会先检查需要哪些动态库连接,然后从内存中找到这些动态库的地址,最后加载动态库运行程序。

0
投稿

猜你喜欢

  • 针对GG规则的修改,主题不鲜明、关键字不突出的站点纷纷扑街,面对这个现状,小菜鸟们该如何玩转建站,兄弟斗胆妄言。1、选一款PHP的CMS。
  • 2009年CNNIC的闹腾,把中国的CN域名给折腾OVER了,IDC的闹腾,把中国的网站给折腾OVER了,很多站长转战国外,购买国外主机的时
  • 不知道为啥,我的IIS访问asp就这样了。------------------------------------Server Applic
  • 最近,搜索引擎战略会议在寒冷的芝加哥举行。许多谷歌参加者总是被问及关于重复内容的问题。对于这个话题,我们发现有许多破碎的并且有些混乱的理解。
  • 大家在做点击网赚项目的时候,经常会发现很多项目或明显或隐藏的提示:中国会员只有升级成为高级会员才能获得支付。理由就是大部分中国会员都是作弊者
  • 基于网络的电子邮件是一种基于Internet的电子邮件系统,它可以让你从一个Web浏览器来发送、接收电子邮件讯息。只要有Internet连接
  • MeeGo今日低调地发布了1.0版,这是第一个稳定的,面向上网本和移动产品的版本,并且1.1版的开发已经进行中,它支持触摸式设备,例如手机、
  • Quickstart Guide The Foreman installer is a collection of Puppet modul
  • 微软在MSDN IE blog上列举了开发者感兴趣的IE8 beta1的七大改进,其中包括CSS2.1的完整支持,HTML5的支持,内置开发
  • 在维护公司内部网站时碰到一个实际问题——MIS主管要求将一些技术文件放在网页上,且只能让MIS 的员工浏览。这就涉及到如何对网页保密的问题。
  • 在Discuz!论坛运行的时候,经常有用户会遇到这样的问题,会员的上次访问时间和最后发表时间会超出当前时间,出现这种情况的原因是服务器的时间
  • 内容摘要:今天检测网页收录情况时,惊讶的发现,google补充材料更新了,谷歌取消了网页补充材料标记了,从表面看,原先被列为补充材料的大量网
  • 首先自我介绍一下,我是华农人论坛站长,避免AD嫌疑,地址就不放上来了,是做高校论坛的,其间,做得不错,上来发表一点心得(两个月来,建站的一些
  • 这两天,互联网上出现了这样的观点:“垃圾信息是搜索不公正主因” 。谷歌中国认为,这是在搜索的“公正性”与“准确性”两个不同层次的事情间偷换概
  • 有才不遇,就要多加主动出击。因此,无论你的博客内容多么精彩,预期中会多么受欢迎,你得让别人看到,只有别人发现了您的内容,价值才能得以体现。在
  • 现今的网络,安全越来越受到大家的重视,在构建网络安全环境时,在技术手段,管理制度等方面都逐步加强,设置防火墙,安装入侵检测系统等等。但网络安
  • 优化网站性能的14条规则(更新)尽可能的减少 HTTP 的请求数使用 CDN(Content Delivery Network)添加 Exp
  • 扩展提示译注:少数条目有重复,不重新编排以遵从原文。AdSense 收入 = 广告展示次数 x 点击率 x 点击单价 x 智能定价因素(Sm
  • 淘宝会员一次注册,两种身份!今起,淘宝网1.45亿会员将无需注册,即可直接登入淘宝网以外的电子商务平台进行购物啦!据了解,近期淘宝网开放了外
  • 对于绝大部份的网站来说,一个合理点击率就只在乎0.1-1%,我跟其他水帖不同,他们所说的是去优化你的广告位置,从而增加更多的点击。但对于我的
手机版 网站运营 asp之家 www.aspxhome.com