--version-script
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.