c++内存分配函数之间的区别 1. VirtualAlloc/VirtualAllocEx 2. HeapAlloc/HeapFree 3. GlobalAlloc/GlobalFree
malloca/alloca:
calloc调用malloc使用C++ _set_new_mode函数来设置新的处理方式,默认情况下,malloc失败时不调用分配内存的处理程序例程。
malloc:
new:
下面是windows系统提供的API函数:
1)、栈区(stack)— 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
2)、堆区(heap) — 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收 。
3)、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 -程序结束后有系统释放。注意:全局区又可分为未初始化全局区:.bss段和初始化全局区:data段。
4)、常量区—常量字符串就是放在这里的。程序结束后由系统释放
5)、代码区—存放函数体的二进制代码。
c++内存储器分配函数之间的区别
c++内存分配函数之间的区别malloca/alloca: calloc调用malloc使用C _set_new_mode函数来设置新的处理方式,
