dk7*_*dk7 8 c linux ld-preload
我有一个具有函数f1的应用程序 void f1 ()
另外,我有一个我加载的库LD_PRELOAD.
该库有几个代码文件和几个头文件,并编译为.so文件.
在头文件中还使用以f1上述相同签名命名的函数.最新版f1仅在库中使用.(我无法将其更改为静态方法)
问题是当我从应用程序的库覆盖中加载库(使用LD_PRELOAD)时.f1f1
有没有办法配置f1库只对库可见?
如果您可以修改头文件,请使该函数static仅在该编译单元中可见,或者将其标记为__attribute__ ((visibility ("hidden")))(仅限GCC)以使其仅在该库中可见:
__attribute__ ((visibility ("hidden"))) void f1();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1447 次 |
| 最近记录: |