keil:syntax error near?这个报错怎么改?

我第一次学的编程语言是java,当时用eclipse开发环境,后面没学成,转成单片机。

刚开始学51单片机的时候,从强大的开发工具eclipse转变到像远古石器一样的Keil,还是挺不习惯的。

除了不会自动补全之类的基础功能以外,最头痛的就是编译出错时去找问题,比如经常会遇到"syntax error near"这样的编译错误。

新手对c语言语法不熟练,或者不细心,特别容易缺括号、缺分号啥的低级错误,而有些错误,不会像eclipse一样直接给你定位到某一行。有些哪怕定位到了,也可能不是那行代码引起的。

类似于这种:

是不是像极了刚学单片机的你,写的程序?

在使用Keil开发时,遇到 "syntax error near" 这样的编译错误通常意味着你的代码中存在语法错误,而且错误通常发生在某个关键字、操作符或者标识符的附近。

"syntax error near" 是一个通用的错误提示,它并不提供具体的错误原因。

所以,解决这个问题,就像破案一样,可能要考虑很多潜在的问题。

Keil我用了至少也有10年时间了,今天针对 "syntax error near" 的编译错误,来分享下我的解决步骤:

1.检查错误信息:

仔细阅读编译器给出的错误信息,它会告诉你错误发生的大致位置。错误信息通常会包含行号,比如上图的SECOND.C(101)这种,这可以帮助你快速定位到问题代码。

2.检查附近的代码:

如果编译器给出的行号那里的代码,感觉没有问题,则要检查错误信息附近的代码。查找是否有拼写错误、缺少分号、括号不匹配、关键字使用不当等问题。

3.检查语法:

看下有没有语法错误,之前就个老铁,把main写成了mian,这种低级错误,找了几个小时。

还有就是,所有的控制语句(如if、for、while等)都正确地使用了括号。

4.检查包含的头文件:

有时候,错误可能是由于包含了错误的头文件,或者头文件中的代码有问题。

检查所有 #include 语句,确保它们都是正确的,并且包含的头文件与你的项目兼容。

5.检查宏定义和预处理器指令:

如果错误信息附近有宏定义(如#define)或者预处理器指令(如#if、#endif等),检查它们是否正确使用。

6.缩小问题范围:

如果错误难以定位,尝试逐步注释掉代码块,逐步缩小问题范围,直到找到确切的错误位置。

7.使用代码编辑器的辅助功能:

有时候Keil看起代码来,没那么直观,所以我一般会借助一些代码编辑器,比如Notepad++之类的。

8.直接复制错误信息到搜索引擎

其实keil的大多数错误,都能通过搜索找到答案,直接把错误信息复制到搜索引擎就可以了。

就冲这点,我对Keil的好感度直接加100。

以上8种方法,其实适用于大多数的代码编译错误的问题。


最近很多粉丝问我单片机怎么学,我根据自己从业十年经验,累积耗时一个月,精心整理一份「单

片机最佳学习路径+单片机入门到高级教程+工具包」全部无偿分享给铁粉!!!

除此以外,再含泪分享我压箱底的22个热门开源项目,包含源码+原理图+PCB+说明文档,让你迅速进阶成高手

教程资料包和详细的学习路径可以看我下面这篇文章的开头

单片机入门到高级开挂学习路径(附教程+工具)

单片机入门到高级开挂学习路径(附教程+工具)

单片机入门到高级开挂学习路径(附教程+工具)

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值