gpt4 book ai didi

c - 是否有 libc 函数(或等效函数)可以知道堆的当前大小?

转载 作者:太空宇宙 更新时间:2023-11-04 00:55:40 26 4
gpt4 key购买 nike

是否有 libc 函数(或等效函数)可以知道堆的当前大小?

我的应用程序存在内存问题,似乎能够在我需要时监控堆可以帮助我找到问题所在。那么有没有办法知道堆的当前大小呢?

最佳答案

没有。

由于您想要的功能是用于调试,因此使用调试器或操作系统的资源统计来监控进程的内存使用情况比尝试将其编码到您的程序中更有意义。

如果您真的希望您的程序跟踪自己的内存使用情况,唯一可移植的方法是避免使用 mallocfree 直接调用它们,而是通过增加/减少计数器的包装器调用它们。这不会考虑内存碎片,但如果您感兴趣的是程序的逻辑内存使用情况而不是对物理资源的影响,那么以这种方式实现的计数器实际上可能比查看操作系统的资源统计。

如果您只关心特定的目标平台或平台系列,可能还有超出 C 标准的函数可以满足您的需求。在 POSIX 上,查找 getrusage .

关于c - 是否有 libc 函数(或等效函数)可以知道堆的当前大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3870255/

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