gpt4 book ai didi

c++ - 如何获取程序的堆大小

转载 作者:IT老高 更新时间:2023-10-28 23:17:33 31 4
gpt4 key购买 nike

如何在 linux 平台下查找 c++ 程序的堆内存大小?我在使用 new 或 malloc 之前和之后都需要堆内存空间。有人可以帮忙吗?

#include <malloc.h>
#include <iostream>
int main()
{

//here need heap memory space
unsigned char* I2C_Read_Data= new unsigned char[250];
//get heap memory space After the usage of new
return 0;
}

最佳答案

您还可以通过重载 newdelete 运算符来将堆跟踪添加到您自己的程序中。在 a game engine我正在努力,所有内存分配都通过特殊函数进行,这些函数将每个分配附加到特定的堆跟踪器对象。这样,在任何给定时刻,我都可以拉出一份报告,查看实体、 Actor 、Lua 脚本等占用了多少内存。

它不像使用外部分析器那样彻底(特别是当外部库处理它们自己的内存管理时),但它非常适合准确地查看您负责的内存。

sample of my memory tables

关于c++ - 如何获取程序的堆大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9748792/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com