【发布时间】:2017-06-17 16:41:30
【问题描述】:
是否可以在没有外部计算的情况下确定堆栈上的非递归函数的需求,就在程序的文本中?我需要它来为非常小的微控制器(例如 AVR)中的线程分配内存资源。在函数调用之前我需要知道这一点。不幸的是,指令 --stack-usage 没有提供太多信息。还是我有什么不明白的地方?
【问题讨论】:
-
在 gcc 中有 -fstack-usage 选项;它报告每个函数 gcc.gnu.org/onlinedocs/gnat_ugn/… 的堆栈使用情况。另一个人写了一个脚本来计算调用树的堆栈使用情况github.com/PeterMcKinnis/WostCaseStack
-
@MichaelMoser 是,但接收到的值不考虑嵌套调用。
-
我觉得还是把编译器推进一下比较好。
-
@MichaelMoser 谢谢迈克尔。我喜欢 Python。
-
@MichaelMoser 你好迈克尔。原谅我的坚持。也许你可以回答这个问题? stackoverflow.com/questions/44606130/… 在不干扰编译器程序的情况下,这可能吗?提前谢谢你。