c++的编译过程
c++的编译过程主要分为4个步骤
1、预编译 将.cpp文件转化成.i文件
2、编译 编译成汇编语言,将.i文件转化成.s文件
3、汇编 编译成机器语言,将.s文件转化成.o文件
4、生成链接
c++内存的区域
1、栈 由编译器自动分配释放,存放函数的参数值、局部变量的值等。
2、堆 用于动态内存分配(new/malloc),由程序员自行分配和释放。
3、静态全局区 全局变量和静态变量的存储放在一起。
4、常量区 字符串常量和其他常量的存储位置,程序结束后由操作系统释放。
5、代码区 存放函数体的二进制代码。
重点:栈:从大地址到小地址。
堆:从小地址到大地址。 这该如何理解?