自学内容网 自学内容网

【ARM】MDK语言标准执行报错Error:268

1、 问题场景

客户在编译的过程中,MDK出现下列报错 Error:#268: declaration may not appear after executable statement in block。

记录解决步骤和其他解决思路进行记录,后续该报错信息出现,使用文档快速解决客户问题。

问题分析:Keil C 编译器基于 ANSI C C90 标准,但扩展了添加的语言扩展、对微控制器架构特性的实际让步以及满足嵌入式系统程序员需求的其他功能。

在 C90 中,所有变量声明都必须发生在函数或其他代码块中的任何可执行语句之前。编译器错误消息提到了有问题的代码行的行号。

图1-1

3、软硬件环境

1)、软件版本:MDK5.39

2)、电脑环境:Windows 11

3)、外设硬件:无

4、解决方法

1)、如果变量和函数定义在C文件中,确保编译时C文件包含正确的头文件以及相关路径。

图4-1

2)、确认头文件完整性后依旧报错、进入配置管理界面、选择“C99 Mode”,再点击“OK”,配置成功。

图4-2

注:C99模式

编译器按照1999年C语言标准和附录的定义编译C语言:

ISO / IEC 9899:1999。1999年国际标准C。

ISO/IEC 9899:1999/Cor 2:2004。技术勘误2。

该选择设置命令行选项——c99。

3)、重新编译,报错消失,在软件版本迭代时,部分配置未能及时调整,会出现该错误。

图4-3

————————————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

关于亿道电子

亿道电子技术有限公司(www.emdoor.cn)是国内资深的研发工具软件提供商,公司成立于2002年,面向中国广大的制造业客户提供研发、设计、管理过程中使用的各种软件开发工具,致力于帮助客户提高研发管理效率、缩短产品设计周期,提升产品可靠性 


原文地址:https://blog.csdn.net/Emdoorelec/article/details/143690185

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!