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

发布于 2024-11-01 11:19:13 字数 248 浏览 7 评论 0原文

我知道这是一个非常愚蠢的问题。我对编译器的实际工作原理几乎一无所知。

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

(顺便说一句,有没有任何参考资料可以让我了解诸如此类的事情这个?)

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

I know this is pretty much a stupid question. I know almost nothing about how compiler really works.

But recently I want find what symbol name does the compiler generate for my ivar, my methods.
Where and how can I know the answer? (I have only used some IDEs. So if the solution is better to be simple . And it would be great help if the instructions you provide is really explicit)

(By the way,is there any reference that i can learn about the things like this?)

PS.I'm IOS developer.And if gcc and LLVM works different answer on this question , I would like to know both.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

腹黑女流氓 2024-11-08 11:19:13

You can use nm to dump the content of a binary object. Then, each compiler has its own way of mangling. I suggest you have a look at Name mangling for objective C in wikipedia, it will help you understand how mangling works.

小嗲 2024-11-08 11:19:13

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

Surely GCC and Clang must have compatible name-mangling schemes, since they can use each other's code.

节枝 2024-11-08 11:19:13

如果您使用的是 XCode 3,请选择一个源文件,然后从“构建”菜单中选择“显示汇编代码”。

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

If you are using XCode 3 select a source file and then pick "Show Assembly Code" from the Build menu.

Apparently XCode 4 users do not need assembly code :-(

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文