IDE:MDK 5.14/MDK 5.26
芯片:stm32F103VC
问题:在C99 Mode下,下面这段代码定义了变长数组,编译能通过,但烧写到芯片内无法跑起来,进入仿真状态,
程序指针PC也无法指向main函数或汇编代码段,而是指向其他代码,也无法仿真起来。
如果屏蔽这两行代码,程序是能正常运行的,各位是否有这个问题?
代码:
void func_Test(void)
{
int Nb = 2;
int T[Nb];
.....
.....
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
要么使用定长数组,
要么临时申请分配内存。
这是C99相比C89新增的其中一个特性,运用好可以很好地优化代码,这里并不是说一定要用这种方法,是探讨为什么会出现问题。
一周热门 更多>