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

news2024/12/29 9:20:23

我第一次学的编程语言是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+说明文档,让你迅速进阶成高手

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1550853.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PostgreSQL FDW(外部表) 简介

1、FDW: 外部表 背景 提供外部数据源的透明访问机制。PostgreSQL fdw(Foreign Data Wrapper)是一种外部访问接口,可以在PG数据库中创建外部表,用户访问的时候与访问本地表的方法一样,支持增删改查。 而数据则是存储在外部,外部可以是一个远程的pg数据库或者其他数据库(…

Linux基础IO(操作系统层面理解文件)

目录 一、认识 open 函数 1.1 理解文件 1.2 open 函数 1.3 函数选项和宏 二、 open 函数的返回值 三、 fd 的本质 3.1 各部分内容及关系 3.2 如何确定进程对应文件 四、Linux 一切皆文件? 一、认识 open 函数 在C语言中学习文件操作时,我们学…

基于java+springboot+vue实现的超市在线销售系统(文末源码+Lw+ppt)23-356

摘 要 当今社会已经步入了科学技术进步和经济社会快速发展的新时期,国际信息和学术交流也不断加强,计算机技术对经济社会发展和人民生活改善的影响也日益突出,人类的生存和思考方式也产生了变化。传统超市在线销售采取了人工的管理方法&a…

MYSQL8.0安装、配置、启动、登入与卸载详细步骤总结

文章目录 一.下载安装包1.方式一.官网下载方式二.网盘下载 二.解压安装三.配置1.添加环境变量 三.验证安装与配置成功四.初始化MYSQL五.注册MySQL服务六.启动与停止MYSQL服务七.修改账户默认密码八.登入MySQL九.卸载MySQL补充:彻底粉碎删除Mysql 一.下载安装包 1.方…

ZC706+AD9361 运行 open WiFi

先到github上下载img,网页链接如下: https://github.com/open-sdr/openwifi?tabreadme-ov-file 用win32 Disk lmager 把文件写入到SD卡中,这一步操作会把SD卡重新清空,注意保存数据。这个软件我会放在最后的网盘链接中 打开linu…

宁波IATF16949质量管理认证体系如何认证?

🐶在当今竞争激烈的🌸汽车市场中,质量已成为企业👩‍❤️‍💋‍👨生存和发展的关键。IATF16949质量管理认证体系🍎作为国际汽车行业认可的🌺质量管理标准,已成为企业&…

IDEA设置代码自动提示不区分大小写

1. 打开设置 在 IntelliJ IDEA 中,点击顶部菜单栏的 File–>Settings(或者使用快捷键 Ctrl Alt S)。 2. 进入设置: 在弹出窗口左侧导航栏中选择 Editor --> General --> Code Completion,取消勾选 “Mat…

机器学习中的 K-Means算法及其优缺点(包含Python代码样例)

目录 一、简介 二、优缺点介绍 三、Python代码示例 四、总结 一、简介 K-Means算法是一种经典的无监督学习算法,用于将数据集中的样本分为 K 个不同的类别。K-均值聚类算法的工作原理如下: 随机选择 K 个中心点作为初始聚类中心。将每个样本点分配…

AI 成足球比赛「关键先生」:DeepMind 发布 TacticAI,战术布局实用性高达 90%

在刚刚结束的世界杯预选赛中,国足在天津主场以 4:1 的得分大胜新加坡,一扫上一场在领先优势下被对方逼平的阴霾,也迎来了球队 2024 年的首场胜利。目前,中国队暂居 C 组第 2 位,保住了晋级 18 强赛的希望。 享受胜利喜…

人工智能(pytorch)搭建模型25-基于pytorch搭建FPN特征金字塔网络的应用场景,模型结构介绍

大家好,我是微学AI,今天给大家介绍一下人工智能(pytorch)搭建模型25-基于pytorch搭建FPN特征金字塔网络的应用场景,模型结构介绍。特征金字塔网络(FPN)是一种深度学习模型结构,主要应用于目标检测任务中&am…

Linux 注入依赖环境

文章目录 配置依赖程序安装 JDK安装 Tomcat安装 mysql 配置依赖程序 下面配置依赖程序都以CentOS为例。 安装 JDK 可以直接使用 yum(CentOS) 直接进行安装。 先搜索,确定软件包的完整名称。 yum list | grep jdk再进行安装 进行安装的时候一定要先确保处在“管理…

《计算机工程与应用》投稿经验2024

要按照官网格式写论文,这会节省很多时间。审稿费120元,本人计算机视觉方向,9页,没有打折,版面费5000,彩图和表格过多的原因。版权协议等论文录用之后再交即可,一审二审的时候不用交,…

Python-VBA编程500例-022(入门级)

最长AB子串(Longest AB Alternating Substring)(或称为最长XY出现次数相同的子字符串)这个问题看似是一个比较抽象的编程问题,但在实际应用场景中,它可以用来解决一系列涉及平衡性和重复模式的实际问题。常见应用场景有: 1、DNA或RNA序列分析…

浅谈交直流混合微电网能量管理系统关键技术研究综述

摘要:为了提升交直流混合微电网健康有效发展,提高直流互联微电网中分布式电源的能源使用效率,提升区域微电网稳定发展,对交直流混合微电网能量管理系统关键技术进行分析和研究很有必要。文章主要从交直流混合微电网能量管理系统架…

JAVA的sort用法详解(二维数组排序,List<>排序,lambada表达式,自定义类型排序)

目录 前言&#xff1a; 一维数组降序&#xff1a; 方法1.Comparator接口&#xff1a; 代码实现&#xff1a; 方法2.Collections.reverseOrder()&#xff1a; 代码实现&#xff1a; 二维数组排序&#xff1a; 代码如下&#xff1a; List<>排序&#xff1a; 代码…

C++ 之多态虚函数原理及应用

文章目录 多态基本概念和原理虚函数的基本原理和概念虚析构和纯虚析构多重继承中的虚函数小结 多态基本概念和原理 多态的基本概念 **多态是C面向对象三大特性之一** 多态的定义 多态是一种面向对象编程概念&#xff0c;指同一个行为&#xff08;方法&#xff09;在不同的对象上…

Elastic 8.13:Elastic AI 助手中 Amazon Bedrock 的正式发布 (GA) 用于可观测性

作者&#xff1a;来自 Elastic Brian Bergholm 今天&#xff0c;我们很高兴地宣布 Elastic 8.13 的正式发布。 有什么新特性&#xff1f; 8.13 版本的三个最重要的组件包括 Elastic AI 助手中 Amazon Bedrock 支持的正式发布 (general availability - GA)&#xff0c;新的向量…

AI算法中的关键先生 - 反向转播与戴维莱姆哈特

0. 引言 机器学习的自动推导过程中有一个关键步骤&#xff0c;就是自动求解过程的参数反向传播过程&#xff0c;这个工作据说是这个人做的&#xff1a; Remembering David E. Rumelhart (1942-2011) – Association for Psychological Science – APSAPS Fellow and Charter …

极简wordpress网站模板

Pithy设计师wordpress网站模板 精练简洁的wordpress模板&#xff0c;设计师或设计工作室展示型网站模板。 https://www.jianzhanpress.com/?p6329

getshell2

怎么进后端 常见CMSgetshell 良精CMS GETSHELL1讲了很多自己看 动易CMS 学校政府 小企业很多这个CMS 网页直接插马 这是秒的方法 图片上传 编辑器漏洞这个CMS也有 怎么找编辑器F12 ctrlf editor 找到编辑器路径 利用文件目录解析漏洞将备份目录名后加上/a.asp然后备份b…