strip一下试试?
带static的你也可以手动混淆嘛, 用宏替换成乱七八糟的名字
【 在 feiy (万事皆相通) 的大作中提到: 】
用gcc交叉编译库,带选项 -ffunction-sections,可以让生成的库,在被链接时,只会加入被用到的函数模块,没有被用到的函数模块不会链接进来,所以可以节省代码空间。
但是,使用这个选项后,在所生成的库文件的未尾,会有大量的 .text:[函数模块名] 以文本可读的方式存在。它不仅列出了库里对外公开的接口函数名,而且许多标注为static的内部函数名也都以这种方式可读存在。本来对一些函数使用static的目的,就是为了将内部函数在库里做一些保密。如果没有这个选项,生成的库里只会显性可读那些不带static的函数,带static的函数都不会显性可读。结果加上这个选项后,在生成的库的.text:[函数模块名]部分,将所有的函数,包括static标注的函数模块,都给显性出来了。
请问有何办法,既实现-ffunction-sections的目的,让static标注的函数名不要在库里出现,包括以.text:[函数模块名]的方式?
--
修改:feiy FROM 115.171.40.*
FROM 14.131.7.*