1.申请内存的两种方式:
<1>通过VirtualAlloc/VirtualAllocEx(后面会介绍,两者在底层的实现相同)申请的: Private Memory
<2>通过CreateFileMapping映射的: Mapped Memory
这个图我们已经熟悉了,不过物理页有着Map和Private两种。Map是公有物理页,Private是私有物理页。所以物理内存只分为两种一种是自己独占物理页,一种是和别人共享物理页。
2.内存申请与释放:
LPVOID VirtualAlloc(
[in, optional] LPVOID lpAddress,//要分配的内存区域的地址
[in] SIZE_T dwSize,//分配的大小
[in] DWORD flAllocationType,//分配的类型 MEM_COMMIT MEM_RESERVE
[in] DWORD flProtect//该内存的初识保护属性
);
LPVOID VirtualAllocEx(
[in] HANDLE hProcess,
[in, optional] LPVOID lpAddress,
[in] SIZE_T dwSize,
[in]