全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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

假设在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 C语言动态库及静态库就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# linux  # 静态库  # 动态库  # golang 调用c语言动态库方式实现  # C语言编程gcc如何生成静态库.a和动态库.so示例详解  # Rust应用调用C语言动态库的操作方法  # 可执行  # 后加  # 所需  # 给大家  # 动态链接库  # 加载  # 时用  # 目录下  # 希望能  # 这篇  # 浅谈  # 连接到  # 小编  # 可利用  # 大家多多  # 会先  # 库中  # 包含了  # 中找到  # 拷贝到 


相关文章: 独立制作一个网站多少钱,建立网站需要花多少钱?  建站之星代理如何获取技术支持?  Python lxml的etree和ElementTree有什么区别  建站之星下载版如何获取与安装?  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  如何选择高效便捷的WAP商城建站系统?  宝塔Windows建站如何避免显示默认IIS页面?  如何在万网主机上快速搭建网站?  已有域名能否直接搭建网站?  如何通过西部建站助手安装IIS服务器?  Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递  建站之星会员如何解锁更多建站功能?  建站VPS配置与SEO优化指南:关键词排名提升策略  定制建站哪家更专业可靠?推荐榜单揭晓  专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?  测试制作网站有哪些,测试性取向的权威测试或者网站?  广州商城建站系统开发成本与周期如何控制?  网站制作的方法有哪些,如何将自己制作的网站发布到网上?  css网站制作参考文献有哪些,易聊怎么注册?  如何快速生成凡客建站的专业级图册?  香港服务器网站卡顿?如何解决网络延迟与负载问题?  常州自助建站工具推荐:低成本搭建与模板选择技巧  上海网站制作网站建设公司,建筑电工证网上查询系统入口?  如何在Golang中引入测试模块_Golang测试包导入与使用实践  如何使用Golang table-driven基准测试_多组数据测量函数效率  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  如何用VPS主机快速搭建个人网站?  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  高端企业智能建站程序:SEO优化与响应式模板定制开发  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  建站之星如何防范黑客攻击与数据泄露?  上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?  家具网站制作软件,家具厂怎么跑业务?  做企业网站制作流程,企业网站制作基本流程有哪些?  如何快速查询域名建站关键信息?  企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?  如何快速重置建站主机并恢复默认配置?  合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?  建站之星客服服务时间及联系方式如何?  网页设计网站制作软件,microsoft office哪个可以创建网页?  如何在云虚拟主机上快速搭建个人网站?  网站制作需要会哪些技术,建立一个网站要花费多少?  如何通过多用户协作模板快速搭建高效企业网站?  视频网站制作教程,怎么样制作优酷网的小视频?  如何用PHP工具快速搭建高效网站?  网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?  唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?  如何快速登录WAP自助建站平台?  如何打造高效商业网站?建站目的决定转化率  焦点电影公司作品,电影焦点结局是什么? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。