全网首发:由两个库同名函数,看LINUX动态库加载及调用
Posted 柳鲲鹏
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了全网首发:由两个库同名函数,看LINUX动态库加载及调用相关的知识,希望对你有一定的参考价值。
最近的字体问题,有点怪:
- 系统库叫freetype,吾库叫tsfreetype。
- 执行程序先freetype,随后在使用时加载tsfreetype。功能出错。
- 使执行程序强制依赖tsfreetype,功能正常。
为什么出错?因为两个库有同名函数。具体来说相当于:
- freetype库,B函数,调用C。
- tsfreetype库,D函数,调用C。
D函数调用C,并不一定调用的是自己库里的,而是看哪个库加载,就先调用哪个。也就是说,LINUX动态库的原则是先入为主。
这个问题怎么解决呢?
- 改变加载库顺序。强制依赖,指定搜索路径。
- 函数改名。
以上是关于全网首发:由两个库同名函数,看LINUX动态库加载及调用的主要内容,如果未能解决你的问题,请参考以下文章