C/C++
edisonlg
这个作者很懒,什么都没留下…
展开
-
C++编译链接过程
GCC的编译过程总体来说,C/C++源代码要经过:预处理、编译、汇编和链接,四步才能变成相应平台下的可执行文件。File: hw.c#include int main(int argc, char *argv[]){ printf("Hello World!\n"); return 0;}如果用gcc编译,只需要一个命令就可以生成可执行文件hw:gc原创 2011-12-18 15:45:32 · 14857 阅读 · 1 评论 -
函数调用栈
当程序进行函数调用的时候,系统会用到下面三种寄存器:1.EIP:EIP寄存器里存储的是CPU下次要执行的指令的地址2.ESP:ESP寄存器里始终存储的是栈顶地址3.EBP:EBP寄存器里存储的是栈基址,是在函数调用之前,由ESP赋值给EBP的。+| (栈底方向,高位地址) || ......................|| .............原创 2012-04-28 17:22:32 · 1029 阅读 · 0 评论