從 GCC 中的 C/C 來源取得彙編器輸出
要分析編譯過程,提取發出的彙編程式碼至關重要。一種有效的方法是在 GCC(或 G )中使用 -S 選項。
使用 -S 選項
透過指定 -S,預處理器將處理原始文件,執行初始編譯,但在呼叫彙編器之前停止。這允許您在進行彙編之前檢查程式碼。為了提高可讀性,請使用 -fverbose-asm。
gcc -S helloworld.c
預設情況下,輸出檔案將命名為 helloworld.s。若要變更此設置,請使用 -o 選項。
gcc -S -o my_asm_output.s helloworld.c
分析現有物件檔案
如果您只有一個物件文件,則可以使用 objdump 和 - -disassemble (-d) 選項。
objdump -S --disassemble helloworld > helloworld.dump
有關增強訊息,請考慮使用-rwC (對於符號重定位和名稱重組)、-Mintel(適用於x86 的Intel 語法)和-r(包括來自未連結物件的引用) 。
objdump -drwC -Mintel -S foo.o | less
這些方法提供了有關編譯過程的寶貴見解,使您能夠分析您的 C/C 程式的彙編程式碼。
以上是如何使用 GCC 和 objdump 從 C/C 程式碼取得彙編程式輸出?的詳細內容。更多資訊請關注PHP中文網其他相關文章!