您当前的位置: 首页 >  linux

柳鲲鹏

暂无认证

  • 0浏览

    0关注

    4642博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

全网首发:由两个库同名函数,看LINUX动态库加载及调用

柳鲲鹏 发布时间:2021-10-11 08:45:08 ,浏览量:0

  最近的字体问题,有点怪:

  • 系统库叫freetype,吾库叫tsfreetype。
  • 执行程序先freetype,随后在使用时加载tsfreetype。功能出错。
  • 使执行程序强制依赖tsfreetype,功能正常。

  为什么出错?因为两个库有同名函数。你在调用的时候,系统按照先入为主的原则搜索。这听起来是正常的。 碰到这种情况,通过函数改名即可解决。

  我们来看另外一个例子:

  • freetype库,B函数,调用C。
  • tsfreetype库,D函数,调用C。

  现在问,D函数调用C,C是哪个?测试后,结论是不一定:

  • 在KYLIN上,优先在本库中搜索。
  • 在UOS上,原则依然是先加载的库优先。这就悲剧了,因为这个时候已经乱七八糟,结果不可预料。

  这个问题怎么解决呢?改变加载库顺序。强制依赖,指定搜索路径。参考其他博文。

关注
打赏
1665724893
查看更多评论
立即登录/注册

微信扫码登录

0.0550s