Asl*_*986 12 c++ winapi memory-management
我试图使用功能GetProcessMemoryInfo
的psapi.h
C++应用程序内部的Windows 7 32位.
我按照一些教程,做了类似的事情:
PPROCESS_MEMORY_COUNTERS pMemCountr;
pMemCountr = new PROCESS_MEMORY_COUNTERS();
bool result = GetProcessMemoryInfo(GetCurrentProcess(),
pMemCountr,
sizeof(PPROCESS_MEMORY_COUNTERS));
Run Code Online (Sandbox Code Playgroud)
问题是我总是从执行GetProcessMemoryInfo()
方法中获得"假" .我在这做错了什么?
sha*_*oth 21
问题是
sizeof(PPROCESS_MEMORY_COUNTERS)
Run Code Online (Sandbox Code Playgroud)
产生的大小PPROCESS_MEMORY_COUNTERS
是一个PROCESS_MEMORY_COUNTERS*
类型指针(P
在开头注意两倍).
你想要的是什么
sizeof(PROCESS_MEMORY_COUNTERS)
Run Code Online (Sandbox Code Playgroud)
如果没有new
这里你会好得多:
PROCESS_MEMORY_COUNTERS memCounter;
BOOL result = GetProcessMemoryInfo(GetCurrentProcess(),
&memCounter,
sizeof( memCounter ));
Run Code Online (Sandbox Code Playgroud)