code
#include
<
windows.h
>
#include
<
stdio.h
>
#include
<
iostream
>
using
namespace
std;
intmain(
void
)std::cout
<<
"alloc:mem_commit|mem_reserve
"<<
std::endl;
copymemory(lpaddress,
"hello memmory
",lstrlen(
"hello memmory
"));
std::cout
<<
"分配 複製成功
"<<
std::endl
<
<<
lpaddress
<<
std::endl;
std::cout
<<
"內容:
"<<
(lpstr)lpaddress
<<
std::endl;
//獲取記憶體資訊
virtualquery(lpaddress,
&mbi,
sizeof
(mbi));
cout
<<
"virtualquery獲取資訊
"<<
endl;
cout
<
<<
mbi.baseaddress
<<
endl;
cout
<<
"記憶體的保護屬性
"<<
mbi.allocationprotect
<<
endl;
cout
<<
"記憶體狀態:0x
"<<
mbi.state
<<
endl;
virtualfree(lpround,sizevirtual,mem_decommit);
cout
<<
"記憶體以decommit釋放
"<<
endl
<<
"再次檢視記憶體資訊:
"<<
endl;
//獲取記憶體資訊
virtualquery(lpaddress,
&mbi,
sizeof
(mbi));
cout
<<
"virtualquery獲取資訊
"<<
endl;
cout
<
<<
mbi.baseaddress
<<
endl;
cout
<<
"記憶體的保護屬性
"<<
mbi.allocationprotect
<<
endl;
cout
<<
"記憶體狀態:0x
"<<
mbi.state
<<
endl;
virtualfree(lpaddress,
0,mem_release);
cout
<<
"記憶體被釋放
"<<
endl
<<
"再次檢視記憶體資訊:
"<<
endl;
//獲取記憶體資訊
virtualquery(lpaddress,
&mbi,
sizeof
(mbi));
cout
<<
"virtualquery獲取資訊
"<<
endl;
cout
<
<<
mbi.baseaddress
<<
endl;
cout
<<
"記憶體的保護屬性
"<<
mbi.allocationprotect
<<
endl;
cout
<<
"記憶體狀態:0x
"<<
mbi.state
<<
endl;
char a;
std::cin
>>a;}
WinApi學習筆記 分配和釋放虛擬記憶體
include windows.h include stdio.h include iostream using namespace std intmain void std cout alloc mem commit mem reserve std endl copymemory lpaddres...
記憶體分配和釋放
自從學習了c語言,老師就教導我們說 對於動態記憶體的申請和釋放,一定要遵守 誰申請,誰釋放 的原則。在此原則的指導下,不僅是我 不僅是你,就連特級大師都設計了這樣怪怪的函式 函式說明 getwindowtext hwnd,lptstr,int 取得視窗標題。需要在引數中給出儲存標題所使用的記憶體指標...
記憶體分配和釋放
三 記憶體分配和釋放 自從學習了c語言,老師就教導我們說 對於動態記憶體的申請和釋放,一定要遵守 誰申請,誰釋放 的原則。在此原則的指導下,不僅是我 不僅是你,就連特級大師都設計了這樣怪怪的函式 函式說明 getwindowtext hwnd,lptstr,int 取得視窗標題。需要在引數中給出儲存...