virtualAlloc

// VirtualAlloc测试.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "windows.h"

int _tmain(int argc, _TCHAR* argv[])
{
//     //预定一块区域,并不会占用物理内存
//     LPVOID lpvBase = VirtualAlloc(
//         NULL,                         //随机预定
//         1024 * 64 * 5,            // 64KB * 5
//         MEM_RESERVE,        // 预定内存区域
//         PAGE_NOACCESS);  // 不可访问i

    //调拨此区域,会映射物理内存
    LPVOID lpvResult = VirtualAlloc(
        0,
        1024 * 64 * 1,             // 64KB * 1
        MEM_RESERVE|MEM_COMMIT,        // 调拨内存区域
        PAGE_READWRITE); // 可读写 

    swprintf_s((WCHAR*)lpvResult, 1024*32, L"Hello15PB");
    wprintf((WCHAR*)lpvResult);
    //使用完毕,不要忘记释放
    BOOL bSuccess = VirtualFree(
        lpvResult,            //起始位置
        1024 * 64 * 1,      //大小
        MEM_RELEASE);

    return 0;
}

 

posted @ 2016-03-29 21:20  天还是那么蓝  阅读(625)  评论(0编辑  收藏  举报