gpt4 book ai didi

linux - 最大堆栈大小使用

转载 作者:太空宇宙 更新时间:2023-11-04 11:21:23 25 4
gpt4 key购买 nike

我有一个用 C 编写的函数,看起来像这样

void function1(){
if(!some_condition){
function1();
}
}

这是在基于 RedHat linux 的机器上用 gcc 编译的。有没有一个分析工具可以告诉我最大数量代码使用的堆栈空间?

最佳答案

Massif来自 valgrind套房应该告诉你这个。但是,您已经知道您的程序过多地使用了堆栈,所以我不确定使用它对您有多大帮助。

在我看来你应该重构你的代码。不幸的是,C 不是 Scheme,编译器不是必需的,也不做任何尾递归优化。因此,重新组织您的函数可能是个好主意,这样它就会循环而不是递归地调用自身。这是关于 Stacks and Recursion Elimination 的好读物.

关于linux - 最大堆栈大小使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18055498/

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