我正在阅读 Andrei Alexandrescu 关于 D 编程语言的书。他是一位出色的作家,在解释 D 语言的各个方面方面做得非常好。然而,当我无法想象 ASM 输出或某些关键字的后果(例如 in、out 等或其他结构)时,我发现某些结构难以理解。尽管我的 ASM 非常糟糕而且我从不使用它,但它对我能够理解某些关键字对计算机的影响以及正在完成的工作有很大帮助。
DMD 编译器有许多有趣的功能(代码覆盖、生成接口(头文件)、生成文档、分析,...),但我还没有看到输出 ASM 代码的开关。编译器确实生成 .obj 文件,并通过阅读以下链接:http ://www.digitalmars.com/ctg/obj2asm.html我怀疑我需要一个工具来手动转换目标文件。我更喜欢编译器开关,有吗?
在该页面的底部,我链接到一个页面,我可以在其中支付提及包含该工具的产品的费用。来自 GNU 背景的我对此非常不满。这仅适用于 C/C++,还是也适用于 D 编译器?
有没有其他方法可以将这些 .obj 文件转换为可读的 ASM 代码,或者我必须求助于其他 D 编译器(例如 GDC 或 LDC)来获取 ASM 输出?我不喜欢。DMD 是由创始人自己创建的,我相信他正确地实现了大多数功能/很大程度上优化了。
那么,如何查看 ASM 代码呢?
谢谢你。