|
1
74
以下是如何使用链接器版本脚本执行此操作:
默认情况下,将导出所有符号:
假设您只想导出
请遵守导出的符号:
|
|
|
2
46
也许有一种方法可以通过ld链接器脚本来实现,但我对它知之甚少。 |
|
|
3
7
生成用于调用任何导出函数或使用任何导出全局函数的代码的效率低于未导出的代码。这涉及到一个额外的间接层次。这适用于任何 出口于 时间gcc仍将为稍后由链接器脚本取消导出的函数生成额外的间接寻址。因此,使用visibility属性将生成比链接器脚本更好的代码。 |
|
|
4
3
似乎有几种方法可以在GNU/Linux上管理导出的符号。根据我的阅读,以下是3种方法:
我不会在这里讨论这些例子,因为它们大部分都被其他答案所涵盖,但这里有一些注意事项、优点和缺点;我头脑中的不同方法的缺点:
我肯定还有其他人。 以下是一些我认为有用的参考资料(附示例): |
|
|
5
1
如果您使用的是libtool,那么还有另一个选项,非常类似于Employed Russian的答案。 以他的例子来说,可能是这样的:
请注意,使用-export符号时,默认情况下不会导出所有符号,而只导出export.sym中的符号(因此libfoo.version中的“local:*”行实际上在这种方法中是隐式的)。 |
|
|
tantuni · 如何从julia调用共享库中的函数指针 2 年前 |
|
|
Community wiki · Bash脚本创建到共享库的符号链接 2 年前 |
|
|
irio lavagno · 应用程序和插件之间的库不匹配 2 年前 |
|
|
GetFree · LSB AppChecker:针对未使用库的GCC链接 17 年前 |
|
|
An̲̳̳drew Chad Okere · 共享库术语 17 年前 |