3

我正在尝试剥离符号,以便我们可以将代码分发给外部开发人员,而不会泄露我们的功能。我们正在隐藏我们的符号,因此当我们发出 nm 命令时,这些符号是不可见的。这个想法是提供一个静态库,除了极少数符号之外,所有符号都被隐藏了。我能够创建一个删除所有符号的共享库。但我无法为静态库获取它。我尝试按照以下链接进行操作,但未成功,

符号隐藏在使用 Xcode/gcc 构建的静态库中

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

4

1 回答 1

3

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

于 2013-06-07T08:40:24.543 回答