【发布时间】:2017-08-26 08:29:01
【问题描述】:
我定义了一个自动字符数组如下:
char buffer[100];
当我编译它时,编译器返回以下错误:
error: (1250) could not find space (100 bytes) for variable _buffer
但是当我把它改成:
static char buffer[100];
程序编译成功。
注1:
我的目标设备是 16f1829。
注2:
编译器版本为 1.30。
【问题讨论】:
-
C 中的自动数组是堆栈局部变量。微控制器的编译器可能知道可用的堆栈大小。检查配置的堆栈大小。可能你可以通过编译器设置来改变它。验证您的项目的启动代码是否为堆栈分配了该大小。