gcc 编译动态库,默认将所有函数都导出。
使用version-script,仅仅导出要使用的符号表
$gcc -o mylib.so --version-script a.map a.o b.o
{
global: 导出函数名;
local: *;
};
再在 ld 时用 --version-script 选项来 load 你 文件。都完事后再使用 readelf 观察static 与 dynamic section 发现只导出了你指定的函数名即符号。
1,only meaningful for ELF platforms that support shared libraries
2,could improve reduce the img size.
3,could improve the speed of load library, if library havn't been prelinked.
本文介绍如何使用GCC的version-script特性来精确控制动态库中导出的符号,从而减少动态库的大小并提高加载速度。适用于支持共享库的ELF平台。
2413

被折叠的 条评论
为什么被折叠?



