把代码编译成二进制文件 预处理----头文件,宏定义展开,条件编译 干掉注释代码 编译成汇编代码 生成目标代码.o (还不能执行) 链接(动态库)生成可执行程序 xxx.out 运行前,内存已经存在分区,执行时代码才载入内存 运行前内存分为(代码区-----只读,函数:data---初始化的数据,全局变量,静态变量(全局,局部),文字常量区(只读)bss---未初始化的数据,全局变量,静态变量) 运行时,加载上述内存分区,然后加载栈区(自动分配空间,自动释放)---自动管理内存 然后加载堆区--