2

我正在遵循 OS X 上的一些 Linux 指令,但我被困在一条线上:

strip -N main my_file.o

OS X 版本strip没有-N选项,我已经阅读了两次手册页,但我不确定如何执行此操作。

那么如何从 OS X 上的符号表中去除单个名称呢?

4

1 回答 1

1

正如您所说,OSX 版本strip不允许这样做;因此,唯一的方法是在声明中使用 this 来限制其在代码中的可见性:

__attribute__((visibility("hidden"))) void MyFunction1();

或者,您可以在上面编译-fvisibility=hidden和使用以仅公开您想要的符号。"default"__attribute__

无论如何,这是一种更好的方法,因为它不需要外部构建步骤。

注意:我发现当将 Objective-C 代码引入代码库时,这并没有按预期工作......

参考

于 2015-11-15T11:44:55.133 回答