MicroPython 1.22 程序递归深度限制是多少啊
<p>我写的一段小程序,在某些时候需要深度递归,目前在台式上运行完全没问题,也查看了一下,一共递归了46次,在ESP32S3上就报错啊</p><p>RuntimeError: maximum recursion depth exceeded</p>
<p>求大佬,有没有什么办法加大一下限制数啊</p>
<p>递归一般与RAM大小有关,可以试试换个带PSRAM的型号,这样递归深度就大很多了。</p>
<p>你可以写个程序测试一下。这个感觉官方没有说明</p>
<p>递归的过程就是保存现场(入栈)的过程,应该确实与存储空间有关<img height="48" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/congra.gif" width="48" /></p>
dcexpert 发表于 2024-5-23 17:05
递归一般与RAM大小有关,可以试试换个带PSRAM的型号,这样递归深度就大很多了。
<p>可能是我每次保存的太多了,我的是8M PSRAM的,对嵌入式应该够大了,可能对我的程序不够大<img height="48" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/faint.gif" width="48" /></p>
极限零 发表于 2024-5-24 08:52
可能是我每次保存的太多了,我的是8M PSRAM的,对嵌入式应该够大了,可能对我的程序不够大
<p>那只能优化算法,想办法不要一次递归太深,或者分阶段递归。</p>
页:
[1]