新闻  |   论坛  |   博客  |   在线研讨会
解决:子函数中变量定义超过255 个字节时试编译出错的问题
renesasrulz | 2010-01-23 09:28:10    阅读:2610   发布文章

http://www.renesas-mcu.com/read.php?tid=1187
瑞萨 M16C, R8C 系列微控制器进行C语言应用程序设计时,如果在子函数中定义的变量超过255 个字节,程序编译出错。

子程序中会定义255个字节变量,至少我没有遇到过。
既然存在这种问题,下面就介绍下如何解决这个问题。

查阅相关资料才知道,
出错的原因:
NC30编译器默认设置的在函数调用时使用的堆栈大上限为255个字节,因此, 当子函数中定义超过255个字节的变量时,编译会出错。

解决方法:
1:在HEW workspace 的菜单栏鼠标左键点击“Build”,然后选择“Renesas M16C Standard Toolchain…”进入Toolchain设定菜单;
2:选择“C”设定菜单,下拉“Category”选择列表,然后选择“Code Modification”,此时,在下面的“Miscellaneous Option”窗口里可以看到“[-AO2]”选项,在前面勾选此选项即可。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
来自瑞萨单片机论坛(www.renesas-mcu.com)的经典文章。仅供大家参考,版权归作者所有。
推荐文章
最近访客