keil 报错Keil_v5\C51\Inc\reg52.h(13): error C141: syntax error near 'sfr'

img


请问,keil 报错Keil_v5\C51\Inc\reg52.h(13): error C141: syntax error near 'sfr' 怎么改呀,reg52.h是自带文件,语法都没问题,找了好久,页眉找到合适的方法解决。

可能是你在前面包含的头文件里的定义与reg52的定义冲突了,或者是更低级的语法错误。
头文件并不是单独编译的,是在预编译阶段跟C语言文件合并后一起编译,而某些语法错误,并不会一开始就能识别出有问题,而是编译到后面才会发现无法解释下去了,所以头文件里的报错,有可能是其它文件的错误导致。建议检查#include<reg52.h>前面的语句或包含的头文件。

朋友,你这个问题最后解决了吗?怎么解决的?

是头文件引用错了

确实是头文件出错了,检查发现,头文件里面的一个分号被放到释义中了,更正后编译正常。