关于MACOS与Linux中动态链接库的一些异同(踩坑)

动态链接库在两个系统中的作用是一样的,只是在生成方面和调用方面有一些不同点,下面进行比较:

  1. 动态链接库后缀
MacLinux(Ubuntu)
.dylib.so
  1. 生成方式
    以下的.o文件均为于位置无关的文件生成方式为

         g++ -fPIC -c + [所需要的文件]

MACLinux(Ubuntu)
g++ -dynamiclib -o + [库名字.dylib] + [所需要的.o文件]g++ -shared -o + [库名字.dylib] + [所需要的.o文件]
  1. 使用方式
MACLinux(Ubuntu)
使用"install_name_tool -change [old.dylib] [path/new.dylib] [程序名字]"来改变库的地址1.通过改变LD_LIBRARY_PATH的值并export来临时增加一个动态库的查找路径,非永久改变。
2.通过改变bash的配置文件,也就是~/.bashrc里面加入‘export + 库的绝对路径’这样一个语句,永久改变。
3.通过更改/etc/ld.so.conf,向该文件中添加库的绝对路径即可,永久改变。

希望大家能帮我丰富内容,尤其是MAC的使用方法,谢谢?

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值