Keil C51编译报错error C141: syntax error
Posted 米兰de小铁匠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Keil C51编译报错error C141: syntax error相关的知识,希望对你有一定的参考价值。
错误代码:
1 typedef unsigned char uchar 2 uchar KeyRowColumnScan() 3 { 4 GPIO_KEY = 0x0f; 5 uchar key_value = 0; // 报错行 6 // 省略 7 return key_value; 8 }
错误信息:
key_array.c(44): error C141: syntax error near ‘uchar’
错误原因:
由于Keil、ADS等某些遵循老的C标准的编译器,在函数定义的内部,必须把所有的局部静态变量和自动变量都声明/定义了之后,然后才能开始后续的代码书写,否则编译器会报错,将代码更改如下后,编译正确。
1 typedef unsigned char uchar 2 uchar KeyRowColumnScan() 3 { 4 uchar key_value = 0; // 必须在函数开始出定义所有变量 5 GPIO_KEY = 0x0f; 6 // 省略 7 return key_value; 8 }
以上是关于Keil C51编译报错error C141: syntax error的主要内容,如果未能解决你的问题,请参考以下文章
keil 4编译C51程序出现警告:UNRESOLVED EXTERNAL SYMBOL SYMBOL: DATA 求解释。
Keil C51 编译错误 undefined identifier