|
VC++取得程序自身占用内存大小。 获取当前进程自身占用的内存(工作集,单位:字节)
- // 获取当前进程自身占用的内存(工作集,单位:字节)
- #include <windows.h>
- #include <psapi.h>
- size_t GetSelfMemoryUsage()
- {
- PROCESS_MEMORY_COUNTERS pmc = {0};
- if (GetProcessMemoryInfo(GetCurrentProcess(), &pmc, sizeof(pmc))) {
- return static_cast<size_t>(pmc.WorkingSetSize); // 当前工作集(物理内存占用)
- }
- return 0;
- }
- // 示例用法
- size_t memBytes = GetSelfMemoryUsage();
- CString info;
- info.Format(_T("当前进程占用内存: %I64d 字节 (%.2f MB)"), (__int64)memBytes, memBytes / 1024.0 / 1024.0);
- AfxMessageBox(info);
复制代码 要点:
- 需 #include <psapi.h>,链接 Psapi.lib。
- 返回值为字节数,可自行换算 MB/KB。
- 适用于 VC++/MFC 项目,WinXP 及以上系统。
|
|