本帖最后由 救火车 于 2010-7-7 21:34 编辑
程序编译都正常。
linking...
Program Size: data=227.0 xdata=0 code=4825
creating hex file from "azz"...
"azz" - 0 Error , 0Warning(s).
就是这个data=227.0 这个值控制到多少才是安全的?
现在是227.0 是正常的。在247时,程序出了很多莫明其妙的问题。
现在已经清楚是data=227.0以上的栈空间不足造成的溢出。但是keil不报错,也不出警告。
我搜了很多资料。都说要多留些内存,但始终没有人说清需要给栈留出多少空间才是安全的。凭经验估计,不是我们控研发的作风。
所以在此开讨论贴。专题讨论keil C51栈的安全问题。一定要找出精确计算栈的安全设置的方法。
参考贴子:
https://bbs.21ic.com/viewthread.php?tid=147240&highlight=Keil%2BC51%E9%87%8C%E5%85%B3%E4%BA%8E%E5%A0%86%E6%A0%88%E6%8C%87%E9%92%88%E7%9A%84%E5%A4%84%E7%90%86 |