如何从目标文件中剥离符号,然后存档为.a

时间:2013-06-07 06:36:36

标签: c linux gcc

我正在尝试剥离符号,以便我们可以将代码分发给外部开发人员而不会泄露我们的功能。我们正在隐藏符号,以便在发出nm命令时,符号不可见。我们的想法是给一个静态库,隐藏所有符号,除了很少的符号。我能够创建一个包含所有符号剥离的共享库。但我无法获得静态库。我尝试按照以下链接但未成功,

Symbol hiding in static libraries built with Xcode/gcc

我有两个文件file1.c和file2.c,file1.c对file2.c进行函数调用。我想隐藏file2.c中的一些符号。如果我使用ld -r选项,我仍然能够在使用nm命令时看到符号。我尝试在我要隐藏的函数之前使用属性((可见性("隐藏")))。任何人都可以告诉我获取.o文件的确切步骤,该文件将删除符号但内部链接。

1 个答案:

答案 0 :(得分:2)

“nm”命令显示符号,您可以使用strip命令删除符号.... 请参阅strip命令的手册页...