keil 赋值之后再声明变量提示错误error: #268: declaration may not appear after executable statement in block

 

勾选 C99 Mode 即可

 

假如没有C99 Mode的选项,那么我们可以用大括号将代码括起来,这样编译也不会报错

 1 if( (! bMemAddrAllowAccess(checkAddr) ))
 2    {
 3       diag_printf("\n\raddr not allowed\n\r");
 4       return;
 5    }
 6    {//注意此处的大括号
 7       int *p = (int *)addr;
 8       
 9       if(andvalue_set)
10       { *p &= andvalue; }
11       
12       if(orvalue_set)
13       { *p |= orvalue; }
14 
15       diag_printf("\r\n0x%x\r\n",*p);
16    }//注意此处的大括号

 

posted @ 2017-10-20 12:37  Kconfig  阅读(2486)  评论(2编辑  收藏  举报