我如何知道Linux上的GNU C剩余多少可用内存

我如何知道Linux上的GNU C剩余多少可用内存,第1张

概述我正在编写一个C程序(使用 gcc编译并在RedHat Linux上运行).程序需要在运行时知道堆栈上剩余多少空间以及堆中剩余多少空间.我意识到这个问题(关于堆)可能没有明确的答案,所以或者,我可以使用已经从堆中分配的内存量.是否有一个库/系统函数调用会给我这个数据? 我想补充一点,我只需要这个用于调试目的,并且只需要粗略估计,因此快速和肮脏的解决方案是完全可以接受的.但是,我需要非常频繁地查询内 我正在编写一个C程序(使用 gcc编译并在RedHat Linux上运行).程序需要在运行时知道堆栈上剩余多少空间以及堆中剩余多少空间.我意识到这个问题(关于堆)可能没有明确的答案,所以或者,我可以使用已经从堆中分配的内存量.是否有一个库/系统函数调用会给我这个数据?

我想补充一点,我只需要这个用于调试目的,并且只需要粗略估计,因此快速和肮脏的解决方案是完全可以接受的.但是,我需要非常频繁地查询内存使用情况,因此无法接受对Unix cmd-line实用程序的外壳并解析其输出.

解决方法 您可能可以创建自己的新函数和删除函数,这些函数封装了真正的new和delete运算符,同时记录了内存使用情况.

对于堆栈,在C中有一个技巧,您可以查看当前函数中定义的第一个局部变量的地址,以便大致了解堆栈指针当前的位置.我想它应该在C中工作,但没有尝试过.

总结

以上是内存溢出为你收集整理的我如何知道Linux上的GNU C剩余多少可用内存全部内容,希望文章能够帮你解决我如何知道Linux上的GNU C剩余多少可用内存所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1030796.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存