2
A
回答
5
實踐是你最好的老師
編寫一個簡單的測試文件:
#include <stdio.h>
int main() {
printf("Hello %s !\n", "world");
}
然後gcc -S test.cpp
會給你test.s
生成的彙編代碼。如果你願意,可以添加-Ox
。
.file "test.cpp"
.section .rodata
.LC0:
.string "world"
.LC1:
.string "Hello %s !\n"
.text
.globl main
.type main, @function
main:
.LFB0:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
movl $.LC0, %esi
movl $.LC1, %edi
movl $0, %eax
call printf
movl $0, %eax
popq %rbp
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE0:
.size main, .-main
.ident "GCC: (Debian 4.7.0-13) 4.7.0"
.section .note.GNU-stack,"",@progbits
若對彙編語言困難,你最好從GNU assembly language
和linkers & loaders
,也Intel® 64 and IA-32 Architectures Software Developer’s Manual
開始。這是一本很好的參考書。
相關問題
- 1. 從C#代碼生成彙編代碼?
- 2. Ada泛型和彙編代碼生成
- 3. C++彙編代碼
- 4. 彙編代碼C
- 5. 如何學習C++代碼和生成的彙編代碼之間的鏈接?
- 6. C++代碼片段的彙編代碼
- 7. C++代碼中的彙編代碼
- 8. 關於gcc生成的彙編代碼(彙編代碼不正確?)
- 9. 彙編代碼到C代碼
- 10. 彙編代碼生成如何工作?
- 11. 寫彙編代碼的C++
- 12. 一個包含C代碼和彙編代碼的C項目
- 13. C++代碼轉換成彙編
- 14. 彙編&C - 翻譯C'S代碼彙編
- 15. 彙編代碼
- 16. 從c反彙編代碼#
- 17. C代碼到MIPS彙編
- 18. C代碼MIPS彙編
- 19. 生成HTML代碼JavaScript編碼在C#
- 20. 如何在Visual Studio 2010中從C++源代碼生成彙編代碼
- 21. 英特爾奔騰彙編器x86彙編代碼生成
- 22. GMP-彙編代碼?編譯代碼
- 23. GCC C++和內聯彙編代碼?
- 24. 查看彙編和C代碼
- 25. 從linux中的C文件生成彙編代碼
- 26. C++代碼生成
- 27. C#代碼生成
- 28. 反彙編C代替操作代碼
- 29. 協助使用C代碼和彙編代碼繪製堆棧
- 30. 不能運行由g ++生成彙編代碼
使用反彙編? – nhahtdh
我非常懷疑您將能夠做到比現代編譯器更好,並且所有優化功能都已啓用。 –
所以你要求一本關於彙編語言的書嗎? – unkulunkulu