如何将 Xcode arm64 编译器输出查看为汇编语言?

Posted

技术标签:

【中文标题】如何将 Xcode arm64 编译器输出查看为汇编语言?【英文标题】:How to view Xcode arm64 compiler output as assembly language? 【发布时间】:2014-12-08 17:50:01 【问题描述】:

有没有办法以汇编语言的形式查看 Xcode 的 arm64 编译器输出,无论是使用 Xcode、与 Xcode 捆绑在一起的命令行开发人员工具、Apple 的其他开发人员工具还是某些 3rd 方实用程序?

【问题讨论】:

你可以使用gcc -S clang -arch arm64 -S ... 似乎适用于不包含包含的纯 C 文件。但是对于包含导入和包含的典型 Xcode 项目源文件,如何获得 arm64 输出? 应该工作一样,只要您使用与正常编译它们相同的选项。当然,链接库不会被转储(因为它们已经被编译)。如果需要,可以在二进制文件上运行 objdump -d 那么如何确定 Xcode 通常与 clang 一起使用哪些选项来构建 arm64 应用程序? 不知道(除非您想设置一个记录命令行的包装脚本)。或者,如果您可以提供其他参数并在其中粘贴 -S(或 -save-temps,如果 clang 支持),您可能需要查看 Xcode 设置。 【参考方案1】:

(由于没有其他人回答,我将发布我最终得到的结果......)

使用已发布的(Mac App Store)Xcode 安装附带的命令行工具:

clang -arch arm64 -I /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include -S my_source_file.c

生成了一个包含 arm64 汇编语言的 .s 文件。

【讨论】:

以上是关于如何将 Xcode arm64 编译器输出查看为汇编语言?的主要内容,如果未能解决你的问题,请参考以下文章

如何为 iOS7 (arm64) 编译 OpenCV

如何制作将在 iOS 5 到 7 上运行的 armv7 arm64 fat 二进制文件?

为啥 Apple 的 Clang(来自 Xcode 5)为 arm64 制作 typeinfos private_extern?

如何更新您的静态库架构以支持 arm64 构建?

Xcode arm64 与 arm64e

Mac OS X10.10_xcode6.1_ios8.1环境下,编译lame静态库libmp3lame.a,支持arm64 armv7s x86_64 i386 armv7指令集