如何将 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 编译器输出查看为汇编语言?的主要内容,如果未能解决你的问题,请参考以下文章
如何制作将在 iOS 5 到 7 上运行的 armv7 arm64 fat 二进制文件?
为啥 Apple 的 Clang(来自 Xcode 5)为 arm64 制作 typeinfos private_extern?
Mac OS X10.10_xcode6.1_ios8.1环境下,编译lame静态库libmp3lame.a,支持arm64 armv7s x86_64 i386 armv7指令集