Keil警告和错误语句与消除方法笔记

2023-11-17

遇到的keil相关错误,警告内容在这里进行更新


Warning:


#1-D: last line of file ends without a newline 文件最后一行不是新行


解决:保证文件最后一行什么符号也没有。


 #167-D: argument of type "x" is incompatible with parameter of type "xxx"   类型“x”的参数与类型“xxx”的参数不兼容


解决:之所以是警告多是因为虽然声明的参数不同但是依然可以兼容,例如说char型和uint8都是8位的1字节的数据,按照需求进行更改


#177-D: variable ""  was declared but never referenced  变量""声明了但是从未引用过


解决:删除这个变量,但有时候是因条件(比如if)赋值时候才使用到的变量也可能会产生这一句警告。


 #940-D: missing return statement at end of non-void function "xxxx"  没有返回值


解决:检查并在所指出的函数中添加返回值语句,通常是编写程序时候设定了返回类型但是没有设定返回值,需要注意的是这个问题有时候会导致建立文件时产生错误。




Error:


L6200E: Symbol xxx multiply defined    符号xxx多重定义



解决:这个问题困扰了一个上午,用了各种排除法,注释法来确定到底是哪里出错。先是注释掉了所有在其他文件中对这个函数的引用,然后试着新建一个文件,重新放入函数,重写的文件就没有出错,但是只要是在这个文件中定义函数无论是否引用就都会出现错误,最后发现是有个include写错了,写成了include "xxxx.c",导致一直出现这样一个警告。



#159: declaration is incompatible with previous "xxxxx"  


解决:这个问题由在文件中调用某个函数,但是在调用语句之后才声明函数导致,向头文件添加声明,或者在使用该函数语句前声明这一个函数


#114: function "xxx" was referenced but not defined


解决:去除发生错误的这个函数.c和.h文件的static静态声明


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Keil警告和错误语句与消除方法笔记 的相关文章

  • zkServer.cmd点击无反应,报错:JAVA_HOME is not set

    window版本中的zk安装过程中遇到一些问题 zkServer cmd点击无反应 现象 window本地准备zk启动的时候 点击zkServer cmd 不弹启动日志的窗口 无反应 以下是排查过程 在zk的安装目录下 我的是D apach
  • L6050U compile erro

    L6050U The code size of this image exceeds the maximum allowed for this version of the linker 原因 是 用的 是 EVb版本 需要 正版 才没有
  • keil勾选Use MicroLIB 的作用

    MicroLib是一个针对用C编写的基于ARM的嵌入式应用程序的高度优化的库 与包含在ARM编译器工具链中的标准C库相比 MicroLib提供了许多嵌入式系统所需的代码大小的显著优势 下图对使用标准库和使用微库代码大小进行了对比 Micro
  • Keil编程中Source Brower : "P17" is undefined!的问题

    博客原文 Keil编程中Source Brower P17 is undefined 的问题 在Keil新建工程中经常会遇到一个问题 去看某一个变量定义 然后跳转不过去 并提示Source Brower 某某 is undefined 在这
  • keil_lic.exe注册机使用

    第一步 以管理员身份运行keil5 第二步 打开File中的License Management 第三步 复制CID 第四步 选择对应的Target为ARM 粘贴CID 复制生成的注册码 第五步 将注册码粘贴到这 就ok了
  • 禁用Android切换动画

    禁用Android切换动画 前言 最近有个功能要禁用安卓activity的切换动画 找了几个方法 这里记录下 使用Theme 最简单的就是设置没有动画的主题了 在activity上增加notAnimation的theme属性 android
  • keil5软件安装&开发环境搭建教程(mdk,c51通用)

    这是我在csdn上写的第一篇文章 心情激动兴奋 因为之前都是看别人写的博客 从来没想过自己去写一篇 在学长的鼓励下 尝试完成人生第一篇博客 仍有不足 希望大佬多多指正 写这篇的目的是因为keil5的安装是许多人入门嵌入式的第一步 而且以后遇
  • QT5.9 编译 OCI (安装的时候没有选择sources)

    由于前几天为了安装Qt快一点 没有选择sources 所以导致了要连接oracle 没有驱动 该这么办呢 1 http download qt io archive qt 5 9 5 9 1 single 下载 qt everywhere
  • 【ERROR】AssertionError: The NVIDIA driver on your system is too old (found version). Please upd

    错误信息 AssertionError The NVIDIA driver on your system is too old found version 10000 Please update your GPU driver by dow
  • 项目启动卡在了Started Application in 10.266 seconds (JVM running for 13.033)

    好端端的项目启动后卡在这一行Started Application in 10 266 seconds JVM running for 13 033 日志中原本打印的执行的banner和程序都没有执行 访问那页面是404 很奇怪 因为啥东西
  • keil5 Device Database 灰色问题

    使用 keil5 安装 GD 软件包后打开工程依然无法搜索到对应的芯片型号 GD32F450 The Project references device files or libraries that are not installed D
  • Keil转STM32CubeIDE工程移植问题记录

    Keil转STM32CubeIDE工程移植问题记录 1 编译报错问题处理 2 工程相关配置问题 3 调试器配置 从Keil软件转战STM32CubeIDE 转换的过程中遇到了不少问题 在此记录一下 防止以后再踩坑 也给同样有转软件需求的朋友
  • [ERROR NumCPU]: the number of available CPUs 1 is less than the required 2

    出现上述错误的原因 因为物理机或者虚拟机不满足Kubernetes的基础配置造成的 而Kubernetes对GPU要求至少是2核 2G内存 W0123 08 22 23 322562 12102 validation go 28 Canno
  • tomcat应用服务器大量接口超时,内存及CPU飙升100%以上解决流程

    问题现象 最近我们相关站点的docker环境出现一个奇怪的现象 大量接口超时 普遍都是几千毫秒 问题解决 经过排查 已经确定不是被调用服务端的问题 于是开始排查我们自己的环境 发现docker容器的内存 从启动开始内存不断上升 然后找到我们
  • error: “自定义函数XXX” must take exactly one argument

    主要问题在于 类里面的重载的二元运算符时 只需要一个参数 另一个参数由this指针传入 这里如果需要传入两个参数 需要放到类外定义 声明友元 访问私有数据和函数 如下 class myTask public myTask int a int
  • Keil MDK编程环境下的 STM32 IAP下载(学习笔记)

    IAP下载 IAP的引入 不同的程序下载方式 ICP ICP In Circuit Programing 在电路编程 可通过 CPU 的 Debug Access Port 烧录代码 比如 ARM Cortex 的 Debug Interf
  • 技术积累 — Keil 查看内存占用/优化代码

    原文链接 转自Sugar的专栏 转载文章 若有不妥 通知后我会立即删除 一 查看内存占用 1 使用Keil编辑代码时 编译成功后 双击红色框框位置 就会弹出 map文件 2 那么map文件中能够读出哪些信息呢 Program Size Co
  • 错误:L6236E:没有部分与选择器匹配 - 没有部分是第一个/最后一个

    我是新来的ARM编程使用Keil Microvision V5 12编译器 我无法编译一个简单的程序集项目并出现此错误 Objects learn sct 7 error L6236E No section matches selector
  • linux下安装nginx

    第一步 压缩包 准备压缩包 最好准备一个稳定的版本 下载地址 我这边选用的是1 24 0双版本号 第二步 解压 在相对应的目录下 执行命令 tar zxvf nginx 1 18 0 tar gz 第三步 配置 编译 推荐使用 config
  • 如何更改 FreeRTOS 中任务的最大可用堆大小?

    我通过以下方式在任务中创建元素列表 l dllist pvPortMalloc sizeof dllist dlllist 有 32 字节大 我的嵌入式系统有 60kB SRAM 所以我希望系统可以轻松处理我的 200 个元素列表 我发现在

随机推荐

  • 线性滤波器&非线性滤波器

    前言 采用线性滤波和非线性滤波是在空间域上处理图像最常用的滤波方法 matlab在处理图像滤波方面拥有可调用的函数 十分便利 我们可以根据自己的需要自行选择滤波方式对图像进行滤波 值得一提的是 图像锐化在某种程度上来说就是线性滤波 一 线性
  • emc re 整改 超标_EMC辐射骚扰超标如何整改?

    辐射骚扰是电脑 GPS导航等工作时向空间发射的一种电磁波干扰 这种干扰会影响其他电器特别是高灵敏度电器的正常工作 组成整机系统的主板 显示卡 开关电源 显示器 键盘 鼠标等都可能引起辐射骚扰超标 对于辐射骚扰通常用电磁场的大小来度量 其单位
  • 对泛型之不能协变(convariant)的理解,以及不能协变导致的问题

    1 何为协变 假设有一个接口 以及一个他的实现类 如下 接口为 public interface GenericsInterface void test 其实现类为 public class Type2 implements Generic
  • 6.ajax应用,ajax应用

    web tools ajax version 天气预报 value 北京 gt id disp weather gt ip地址查询 value 127 0 0 1 gt id disp iparea gt 手机归属查询 id disp mo
  • js利用google翻译接口把网页翻译成各国语言

    网页翻译为德语 Translate Page To German a href 网页翻译为德语 Translate Page To German a 网页翻译为西班牙语 Translate Page To Spanish a href a
  • [Mysql] 删除数据

    为了从一个数据表中删除 去掉 数据 可使用DELETE语句 语法 DELETE FROM表名 WHERE 条件 ORDER BY LIMIT row count DELETE FROM要求指定从中删除数据的表名 WHERE子句过滤要删除的行
  • 如何将li的前面那个圆点去掉

    只需要将 css样式 的 list style type 属性设置为none即可 代码如下 list style type none span style font size 18px span 下面的代码位于标签内 span style
  • 虚拟内存基本概念

    一 传统存储管理方式的特征 缺点 1 连续分配 单一连续分配 固定分区分配 动态分区分配 2 非连续分配 基本分页存储管理 基本分段存储管理 基本段页式存储管理 3 特点 很多暂时用不到的数据也会长期占用内存 导致内存利用率不高 一次性 作
  • JS基础_js一元运算符

    1 什么是一元运算符 只对一个操作数操作就能改变当前操作数的值的运算符号 2 一元运算符有哪些 2 1 正号 和负号 举例
  • CP4.矩阵的LU分解

    LU分解 将矩阵A分解成的形式 称作矩阵LU分解 L代指下三角矩阵 U代指上三角矩阵 首先用到的是前面讲过的消元法 以下为例子 通过消元操作 最后矩阵A变成了一个上三角矩阵U 那么只要上式左乘一个 就可以转化为 这里的就是L矩阵了 所以 也
  • javac编译时出现GBK报错(错误:编码GBK的不可映射字符)

    javac编译时出现GBK报错 错误 编码GBK的不可映射字符 一 这里列出我遇到的三种情况 代码格式分别为 ANSI UTF 8 无BOM的UTF 8 这里我用的是notepad 进行编写 ANSI格式 首先我们先创建一个 java源文件
  • 说说JUC三个类:CountDownLatch,CyclicBarrier和Semaphore

    目录 CountDownLatch CyclicBarrier Semaphore 总结 在JUC中 有三个工具类来辅助我们进行并发编程 分别是 CountDownLatch CyclicBarrier和Semaphore CountDow
  • 使用vue-cli来搭建vue项目

    使用vue cli来搭建vue项目 一 创建所需要的文件夹 二 安装vue cli 三 使用脚手架vue cli 2 X版 来构建项目 前提 搭建好NodeJS环境 一 创建所需要的文件夹 1 首先在Node js的文件夹里面建上 temp
  • S71200外围设备接线-输入接线

    S71200外围设备接线 输入端子接线 含NPN和PNP 传感器接线 作为一个PLC的初学者 我觉得第一件事请并不是学习什么TIA Portal软件或者编程指令 而是了解PLC的系统参数和外围设备接线 上面的一张文章 我通过图文的方式简单讲
  • 问题 E: 十进制整数转二进制

    十进制整数转二进制的方法是 除以2 取出余数 商继续除以2 直到得到0为止 将取出的余数逆序即可得到对应的二进制数的各位 例如 22转二进制的计算过程 22 2 11 余0 11 2 5 余 1 5 2 2 余 1 2 2 1 余 0 1
  • 小程序获取用户信息实现一键登录

    文章目录 旧版获取用户信息实现登录流程 login页面代码 个人中心页面代码 全局app vue代码 下面是小程序获取用户信息最新调整的方式 温馨提示 以下小程序登录方式只适用于2 27 1版本库以下使用 详情请看微信官方文档调整 旧版获取
  • python中的连续比较是什么_在python中提取连续行之间的差异

    你的例子表明你想要在一对线之间进行比较 这与将其定义为line n 1 line n 不同 后者将给出5个结果 而不是3个 在 结果也取决于你认为的差异 它是位置性的 还是仅仅基于奇数行中缺失的字母 还是两者的差异都适用 例如 boat t
  • 优酷 YouTube Twitter及JustinTV视频网站架构设计笔记

    本文是整理的关于优酷 YouTube Twitter及JustinTV几个视频网站的架构或笔记 对于不管是视频网站 门户网站或者其它的网站 在架构上都有一定的参考意义 毕竟成功者的背后总有值得学习的地方 虽然有些文章的发表时间有点久了 但是
  • 将第三方库改为我自己想要的

    将第三方库改为我自己想要的 方法 比较常用的 给出一些例子 React组合方法 高阶组件方法 方法 修改第三方库以适应自己的需求可以通过多种方法实现 下面是一些常见的策略 继承 通过创建继承自第三方库组件或类的子类 你可以重写或扩展其方法
  • Keil警告和错误语句与消除方法笔记

    遇到的keil相关错误 警告内容在这里进行更新 Warning 1 D last line of file ends without a newline 文件最后一行不是新行 解决 保证文件最后一行什么符号也没有 167 D argumen