标签列表
如何在Windows平台上获取堆大小
c++
windows
5
5
正如问题标题所示,我想知道是否有一种方法可以获取当前进程的堆大小。
-
Kira
4
由于堆(heaps)的工作原理,堆大小通常不是有用信息。您可能想知道
可以进行的最大堆分配
,是吗?
- Drew Dormann
不好意思,我想知道的是已使用堆大小。
- Kira
除了@DrewDormann所说的,你的问题非常模糊。你是想要整个系统的堆大小(实际上并不存在这样的东西),还是针对特定进程的堆大小(每个线程都可以有一个堆)?为什么需要这些信息?
- Nik Bougalis
我已经提到了这是针对当前进程的。
- Kira
1
个回答
6
6
你可以这样做-但我认为这将会很慢,很痛苦。
使用
GetProcessHeaps
枚举进程堆。
使用
HeapWalk
枚举每个堆中的块。
使用
HeapSize
获取不同块的大小和类型。
-
user93353
3
@NikBougalis - 本地变量是在堆栈上创建的,而不是在堆上创建的?
- user93353
1
糟糕!早上太早了,咖啡也不够。愚蠢的评论已删除。
- Nik Bougalis
不需要使用HeapSize,因为PROCESS_HEAP_ENTRY已经包含了所有的大小信息。
- Alex
回答链接
网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接
相关问题
4
如何在Windows XP平台上让Rcpp在R中工作?
4
在64位Windows平台上,我可以安全使用的最大Java堆大小是多少?
3
Windows平台上的Ruby Dir.glob问题
5
Windows 平台上的 OpenCV SFM 模块
12
如何在Windows平台上编写USB设备驱动程序?
5
如何在Windows平台上编写Git服务器钩子?
5
如何在Windows平台上使用C ++ 实现长期高分辨率计时?
15
如何在Windows 7平台上使用node-gyp?
8
Windows 64位平台上void指针的大小为什么是4?
6
如何在Mac平台上编写C++?