C言語なら俺に聞け<35>
■ このスレッドは過去ログ倉庫に格納されています
0845アフォルトの名無しさん
NGNG普通 0xCC だろ? NT はそうだ。
それと malloc() + free() は駄目だ、プログラム終了まで確保したメモリーを
OS に返さない。
>>840
「メモリを掃除する」 ことはできない。
いきなり大容量のメモリを要求して、OS にメモリのデフラグメントをするように
誘いかけるぐらいしかできる事は無い。
BOOL CleanPhysicalMemory()
{
MEMORYSTATUS MemoryStatus;
HANDLE hHeap;
LPBYTE lpByte;
GlobalMemoryStatus(&MemoryStatus);
hHeap = HeapCreate(HEAP_NO_SERIALIZE, 0, 0);
if(!hHeap)
return FALSE;
lpByte = (LPBYTE)HeapAlloc(hHeap, HEAP_NO_SERIALIZE, MemoryStatus.dwTotalPhys);
if(!lpByte)
return FALSE;
FillMemory(lpByte, MemoryStatus.dwTotalPhys, 0xCC);
HeapDestroy(hHeap);
return TRUE;
}
■ このスレッドは過去ログ倉庫に格納されています