我是新来的c语言,希望建立将c语言映射到汇编语言的直觉,以便我可以对堆栈,注册表,内存,代码如何工作看到c代码。我已经阅读了几本汇编语言书籍,主要关注汇编语法,而不是c和汇编之间的关系。有谁知道我在哪里可以找到关于c和汇编语言之间的映射的书。将c语言映射为汇编语言
-5
A
回答
0
我不知道这样一本书是否存在(如果有的话,它可能是一本关于编译器的书)。但是,有一个更简单的解决方案:尝试一下。
编写C代码,然后用调试符号编译(这些说明假设Linux的):
gcc foo.c -o foo
然后,使用调试器:
gdb ./foo
break MyFunction
run
disass
这将设置一个断点MyFunction
,然后运行该程序直至达到该断点。 disass
将打印该功能的程序集。您可以使用stepi
一次执行一条指令,或者使用next
一次执行一条C指令。
+1
或者,运行'gcc -S foo.c'让编译器直接生成汇编文件(这可能会在汇编文件中留下更多关于映射的信息)。 – microtherion
相关问题
- 1. 将汇编语言宏转换为纯汇编语言
- 2. 汇编语言
- 3. 汇编语言到C
- 4. C至MIPS汇编语言
- 5. MIPS汇编语言
- 6. 8086汇编语言
- 7. x86汇编语言
- 8. 汇编语言环
- 9. 汇编语言 - LDI
- 10. CMP汇编语言
- 11. 汇编语言:cbw
- 12. MIPS汇编语言
- 13. 如何使用C语言内联汇编语言forloop?
- 14. 汇编语言到C语言转换INCF和CPFSLT
- 15. 用汇编语言编写C =(A + B)^ 2并转换为机器语言
- 16. Automapper条件语言映射
- 17. Vim的语言映射
- 18. 汇编语言diff工具
- 19. 了解汇编语言
- 20. 汇编语言:+ vs add
- 21. 汇编语言注册
- 22. 汇编语言介绍
- 23. 以汇编语言开头
- 24. 汇编语言x86 Irvine32
- 25. 理解ATT汇编语言
- 26. Doxygen和汇编语言
- 27. MIPS汇编语言(Power2)
- 28. 汇编语言NASM错误
- 29. 与汇编语言拼搏
- 30. 汇编语言move.l p, - (A3)
没有“* map *”,不同的编译器以不同的方式做,即使是相同的编译器在不同的设置下也会有不同的做法 – harold
C不需要堆栈,也不需要注册。 – Olaf