前置姿势/技能
这里记一下做lab需要的前置姿势/技能,尽量不和理论方面的东西重叠吧...
编译实际上就是把源代码变成一堆CPU指令的过程(在这里到这个程度就够了)
GCC使用的是叫ATT
格式的汇编,和Intel
格式的汇编有很多不一样,最显著的就是操作元素的顺序...看文档的时候要小心
编译产生.s
文件:
gcc -Og -S file.c
编译产生.o
文件:
gcc -Og -c file.c
以上-Og
是为了避免过度优化使得程序的执行顺序和结构发生变化
反汇编得到一堆指令:
objdump -d file