如何找到编译器为我的代码生成的符号名称?

时间:2011-04-14 14:22:42

标签: objective-c gcc compiler-construction symbols llvm

我知道这几乎是一个愚蠢的问题。我几乎不知道编译器是如何工作的。

但是最近我想找到编译器为我的ivar生成的符号名称,我的方法。 我在哪里以及如何知道答案? (我只使用了一些IDE。所以如果解决方案更简单。如果你提供的指令非常明确,那将会很有帮助)

(顺便说一句,有什么参考可以让我了解这样的事情吗?)

PS。我是IOS开发者。如果gcc和LLVM在这个问题上有不同的答案,我想知道两者。

3 个答案:

答案 0 :(得分:4)

您可以使用nm转储二进制对象的内容。然后,每个编译器都有自己的修改方式。我建议您查看Name mangling for objective C in wikipedia,它将帮助您了解修剪工作的效果。

答案 1 :(得分:0)

当然,GCC和Clang必须具有兼容的名称修改方案,因为它们可以使用彼此的代码。

答案 2 :(得分:0)

如果您使用的是XCode 3,请选择一个源文件,然后从Build菜单中选择“Show Assembly Code”。

显然XCode 4用户不需要汇编代码: - (