十二月 31, 2020
12:44 AM
在程序运行时,函数的调用以及执行会使用堆栈,为了防止堆栈溢出,想要计算各个函数之间调用的最大路径以及使用的最大堆栈。
使用PSoC Creator有什么办法能计算出来吗?
注:不是单个函数使用的堆栈大小,是包含了调用关系的堆栈大小,也就是想知道程序运行时各种情况下能使用的最大堆栈量。
已解决! 转到解答。
标签
1 解答
一月 12, 2021
08:17 PM
一个类似的老帖参考一下Solved: how can i detect stack overflow? - Cypress Developer Community
另外 也可以在在网上搜一搜堆栈溢出检测方法,网上挺多相关介绍的。
Roy Liu
3 回复数
十二月 31, 2020
06:04 AM
PSoC Creator 的工程编译之后,会生成一个output,你可以看到你工程分配的堆栈空间。
你可以在工程中设置这个值:
你可以看一下这个链接文档: PSoC® Arm® Cortex® Code Optimization (cypress.com)
一月 06, 2021
11:39 PM
感谢你的回答,但是很抱歉你的回答并不是我要问的,我知道如何在工程中设置堆栈的大小。我想问的问题是:在程序运行时,函数执行时会占用堆栈的空间,我想计算出包括各种情况的函数调用使用的最大的堆栈空间是多少?因为我并不知道我设置的堆栈大小是否合适,所以想根据程序运行时使用的堆栈大小来设置。
一月 12, 2021
08:17 PM
一个类似的老帖参考一下Solved: how can i detect stack overflow? - Cypress Developer Community
另外 也可以在在网上搜一搜堆栈溢出检测方法,网上挺多相关介绍的。
Roy Liu