购物车0种商品
IC邮购网-IC电子元件采购商城
单片机程序中函数嵌套能套多少层?
(2011/11/1 9:36:00)
就比如通常的52,256byteram的片子,假如程序data(堆栈)空间充裕的情况下。
1、理论上最大能套多少层?是不是无限的呢,只要data(堆栈)够?
2、在调用函数的时候哪些东西是需要压堆栈的?能不能在程序完成后大概的估计出堆栈深度?目前知道的有pc,sp,自动变量需要压堆栈。
3、程序编译后,结果显示的data字节包括哪些使用?我们能不能从程序上大概推算出编译后的data值?


网友评论:现在程序就有点怪怪的问题,还好可以规避一下,但一有风吹草动我就怀疑堆栈的问题,虽然我也可以测出堆栈深度,但没个明确说法我还是不放心。

网友评论:编译完的list文件*.lst里面有。
调用函数的参数有的也是堆栈传的,所以啊,尽量的不要太多。

还有就是可以让它跑一遍,包括最深的地方都跑一下,看看到底用了多少。

此外,也可以用内联函数inline可以把函数当作宏那样,每次用都复制一遍代码,省堆栈空间啊。像i2c的开始,发送一个字节什么的。结构上看还是一个个的函数比较清晰。

浏览:(3183)| 评论( 0 )
博文评论

  • 昵 称:
  • 内 容:10~250个字符
  • 验证码: 验证码看不清楚?请点击刷新验证码
  •                      
  • 博文分类

    热点博文

    最新博文

    最新评论

    IC电子元件查询
    IC邮购网电子元件品质保障