本文主要是介绍Keil-MDK版本中的C99 mode功能,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
此文章针对编译器选择为V5.06 update 7,如下图
使用此编译器写代码时,定义变量的位置不恰当也会编译出错,如下所示:
- 定义变量位置在头部,没有错误:
int main(void)
{int a;int b; //定义变量在头部a=10;b=1;while(1){}
}
这里两个警告是因为变量定义了没有使用
- 定义变量位置不在头部,出错:
int main(void)
{int a;a=10; //执行语句之后定义变量bint b;b=1;while(1){}
}
错误说的是声明int b不能出现在可执行语句之后
出错原因是由于默认编译器没有选择C99标准,这样的话定义变量只能在程序头部,否则会报错。那我们可以选择C99标准,只需如下操作:
选择好之后,定义变量的位置就不会被约束了,如下:
int main(void)
{int a;a=10; //执行语句之后定义变量bint b;b=1;while(1){}
}
----------------------------------------------------------------2022.9.29--------------------------------------------------------------------------
最新版本MDK537(及以后)可能上述方法还是不行。
如果发现还是会出错,请取消勾选C99,勾选 GUN extensions即可
这篇关于Keil-MDK版本中的C99 mode功能的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!