在使用GNU工具链的Linux系统中,我知道如何通过版本脚本(gcc -Wl,--version-script=symbols.map)控制共享库中导出的符号,但我希望能够在命令行上列出导出的符号。也就是说,我希望有类似于以下命令的功能:
link /EXPORT:foo
从MS工具链中是否可以导入?
编辑:
我的问题可能不是非常清楚:如果我有一个库libfoo.so,并且我想仅导出库foo1和foo2,我可以创建一个版本脚本foo.linux,如下所示。
libfoo.so
{
global:
foo1;
foo2;
local:
*;
}
并且执行
gcc -shared foo.c -Wl,--version-script=foo.linux -o libfoo.so -soname libfoo.so
我希望能够像这样做一些事情:
gcc -shared foo.c -Wl,--export-symbol=foo1 -Wl,--export-symbol=foo2 -o libfoo.so -soname libfoo.so