一个是VirtualAlloc,函数原型:
LPVOID VirtualAlloc(
LPVOID lpAddress,
DWORD dwSize,
DWORD flAllocationType,
DWORD flProtect
);
若第一个参数为NULL,分配的内存必以64K的整数倍为内存起始地址,哪怕你只分配一个字
节。
另一个是LocalAlloc,函数原型
HLOCAL LocalAlloc(
UINT uFlags,
UINT uBytes
);
这个就比较人性化一点了,不会以64K为界来分配内存,一般动态分配一块内存的时候用这
个比较好。
动态分配了之后别忘了释放,对应于两个内存分配函数,释放的函数分别是VirtualFree和
LocalFree。
LPVOID VirtualAlloc(
LPVOID lpAddress,
DWORD dwSize,
DWORD flAllocationType,
DWORD flProtect
);
若第一个参数为NULL,分配的内存必以64K的整数倍为内存起始地址,哪怕你只分配一个字
节。
另一个是LocalAlloc,函数原型
HLOCAL LocalAlloc(
UINT uFlags,
UINT uBytes
);
这个就比较人性化一点了,不会以64K为界来分配内存,一般动态分配一块内存的时候用这
个比较好。
动态分配了之后别忘了释放,对应于两个内存分配函数,释放的函数分别是VirtualFree和
LocalFree。
博客介绍了两个内存分配函数,VirtualAlloc分配的内存若首参为NULL,必以64K整数倍为起始地址;LocalAlloc则更人性化,不以64K为界分配内存,动态分配常用此函数。同时提到对应释放函数分别为VirtualFree和LocalFree。
1万+

被折叠的 条评论
为什么被折叠?



