Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在windows平台上获取堆大小_C++_Windows - Fatal编程技术网

C++ 如何在windows平台上获取堆大小

C++ 如何在windows平台上获取堆大小,c++,windows,C++,Windows,正如问题标题所示,我想知道是否有办法获得当前进程的堆大小。您可以这样做,但我认为这将是缓慢而痛苦的 用于枚举整个进程堆 用于枚举每个堆中的块 用于获取不同块的大小和类型 由于堆的工作方式,堆大小通常不是有用的信息。你可能在问如何知道可以进行的最大堆分配吗?不,我想知道的是使用的堆大小。除了@DrewDormann所说的之外,你的问题非常模糊。您想要整个系统的堆大小(实际上没有这样的东西)还是特定进程的堆大小(可以有多个堆-每个线程一个)?为什么这些信息是必要的?我已经提到过,这是当前的proce

正如问题标题所示,我想知道是否有办法获得当前进程的堆大小。

您可以这样做,但我认为这将是缓慢而痛苦的

  • 用于枚举整个进程堆
  • 用于枚举每个堆中的块
  • 用于获取不同块的大小和类型

  • 由于堆的工作方式,堆大小通常不是有用的信息。你可能在问如何知道可以进行的最大堆分配吗?不,我想知道的是使用的堆大小。除了@DrewDormann所说的之外,你的问题非常模糊。您想要整个系统的堆大小(实际上没有这样的东西)还是特定进程的堆大小(可以有多个堆-每个线程一个)?为什么这些信息是必要的?我已经提到过,这是当前的process@NikBougalis-局部变量是在堆栈上创建的,而不是在堆上创建的?噢!早上太早,咖啡不够。愚蠢的注释已删除。无需使用HeapSize,因为进程\u HEAP\u条目已包含所有大小信息。