2015-07-05 24 views

回答

2

最簡單的方法是反彙編編譯後的目標文件或最終的二進制文件。在Linux上,您可以使用objdump,在Windows上,Digital Mars銷售obj2asm實用程序。

+0

我能夠使用'brew install binutils'在mac上安裝'gobjdump',然後像這樣使用它:'gobjdump -d answer.o | less'。這給出了一些類似的結果,除了它不適用於代碼片段,並且還顯示了使用的導入函數。 asm.dlang.org的源代碼可用嗎? – Tamas

+0

我不知道asm.dlang.org的來源,但我確定它只是過濾objdump的輸出。你可以grep一個特定的函數名稱。 –

2

我傾向於在gdb中使用disassemble <function>命令 - 與objdump相比,它允許進行更多的交互式調查。很有可能,「你最喜歡的調試器名稱」會有類似的東西。

1

如果您使用LDC作爲您的D編譯器,那麼您可以指定命令行選項-output-s來生成程序集輸出。

+0

作品!同樣的冗長,但至少我現在有一個編制的最不發達國家。 :) – Tamas