objective-c - 我如何检查 Xcode 4 中的程序集?

标签 objective-c xcode gcc assembly xcode4

我正在调整一些在我的 iPhone 应用程序中紧密循环运行的代码,我很想看看生成的汇编代码,看看是否有任何异常之处。

在 Xcode 3.x 中,菜单中有一个Build > Show Assembly Code 选项,但我在 Xcode 4 的菜单或文档中没有看到任何内容。

有人知道怎么做吗?我可以执行“gcc -S”,但我的理解是这与整个项目的编译方式不同。

最佳答案

据我所知,“查看反汇编”选项已消失。

这是一种解决方法:

  1. 构建你的项目
  2. 打开构建日志,使用搜索窗口查找用于构建您感兴趣的源文件的编译命令。复制整个构建命令。
  3. 打开一个终端窗口,然后 cd 到您的项目目录。
  4. 将构建日志中的构建命令粘贴到终端中,并附加 -save-temps。按回车键。
  5. 您现在有两个新文件,yourFile.iyourFile.s,它们分别是预处理的源代码和生成的程序集,完全按照它们在您的项目。

或者,您可以使用 otool -tvV/path/to/binaryOrDotOFile 反汇编构建的二进制文件(或源文件生成的目标文件)。

最后,如果这是您想要恢复的功能,请确保提交错误报告!

编辑: 这个特性在 Xcode 4.1 中回归。在辅助编辑器 Pane 中,选择“生成的输出 -> YourFilename (Assembly)”。轰!

关于objective-c - 我如何检查 Xcode 4 中的程序集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5433935/

相关文章:

ios - 任何 iOS 核心库都可以将 blob 上传到 windows azure 存储吗?

c++ - 为什么在模板类静态辅助函数中调用全局函数会导致链接器错误,但在非静态成员函数中不会调用?

c - 为什么 gcc -o0 会比 icc -o0 快?

ios - 为不同的构建方案(调试、分发、发布)添加 "WKAppBundleIdentifier"和 "WKCompanionAppBundleIdentifier"键

python - Cython 和 Hadoopy 编译错误.. 有什么解决办法吗?

macos - 如何在OS X上运行此汇编代码?

objective-c - 不需要 #imported 的 Cocoa 框架

ios - 尝试捕获整个应用程序

objective-c - Objective-C 中的构造函数

ios - Xcode 7 存档大小大