在GCC 中從C/C 來源產生彙編器輸出
分析編譯過程,從C/C 來源取得發出的彙編程式碼可以是無價的。 GCC 提供了兩種方法來實現此目的:使用 -S 選項並利用 objdump。
使用 -S 選項:
-S 選項指示 GCC 運行預處理器並執行初始編譯,但在彙編器執行之前停止。預設情況下,輸出儲存在擴展名為 .s 的檔案中。若要指定自訂輸出文件,請使用 -o 選項。
gcc -S helloworld.c
使用 objdump:
如果您只有產生的目標文件,則可以使用 objdump使用 --disassemble 選項(-d表示較短版本)來反組譯程式碼:
objdump -S --disassemble helloworld > helloworld.dump
其他選項:
範例:
取得詳細組譯程式使用Intel 語法從.o 檔案輸出,該檔案可能包含符號引用的佔位符,使用:
objdump -drwC -Mintel -S foo.o | less
以上是如何使用 GCC 從 C/C 原始碼產生彙編程式碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!