Bro*_*mer 0 c++ windows handle
这是我的代码:
#include <windows.h>
#include <iostream>
using namespace std;
int main(void) {
cin.get(); //MEMORY SNAP
HWND win = CreateWindow(
"static",
NULL,
WS_CHILD | WS_VISIBLE | SS_BITMAP | WS_DISABLED,
NULL,
NULL,
NULL,
NULL,
GetConsoleWindow(),
(HMENU)0,
GetModuleHandle(0),
NULL
);
cin.get(); //MEMORY SNAP
DestroyWindow(win);
cin.get(); //MEMORY SNAP
}
Run Code Online (Sandbox Code Playgroud)
基本上我只是创建一个窗口然后销毁它。所以窗口分配的所有内存都应该被释放,但我的内存看起来像这样 - > http://oi67.tinypic.com/2rwrsxc.jpg 它不会被完全删除,我不知道为什么。
如果你能帮我解决这个问题,我会非常高兴。
图片来自链接:
您正在查看两个不同的数字。DestroyWindow释放内存,但不直接返回操作系统。它仍然可供您的程序使用。实际上,这意味着下一次 CreateWindow调用不会增加内存消耗,因为它会回收内存。