gcc -S 参数可以把C语言代码转换成汇编代码。对照汇编代码看C别有一番风味,很多编译器行为都有了本质的解释。
本人对汇编也是一知半解,工作中没有用到过,上学时候学的还是16位的汇编,基本上也忘光了。一边学习一边记录吧。
复习汇编,一个简单的例子
如下是一段非常简单的c程序
把它编译成汇编
gcc -S aa.cpp
生成汇编结果aa.s, 我在文件中增加了一些注释。
本程序只有一个代码段,没有数据段。参数和临时变量存储在栈中,栈属于代码段。本程序栈空间的组织如下:
函数调用
再分析以下带简单