KEIL C51屏蔽警告方式


前言

说明一下,这里是屏蔽警告,不是消除警告。目前我所知道的屏蔽警告的方式有四种,如果所说有什么问题或者还有其它的方式,麻烦在评论区@一下我。


一、屏蔽警告的目的

  1. 有强迫症,编译时出现太多警告有点受不了。
  2. 部分警告的存在对程序正常运行并没有影响,而且警告太多就比较容易忽视一些重要的信息。因此,可以选择忽视掉这类不重要信息。下面列出我直接屏蔽的警告(暂时只记得这一个)。

//函数定义后从未被调用警告
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS

二、屏蔽方式

1. 切换链接器

1)菜单栏 -> Project -> Options for Target ‘Target 1’ -> Device,勾选“Use Extended Linker(LX51)…”
在这里插入图片描述
2)选择“LX51 Misc”,在“Misc control”输入框中写入“REMOVEUNUSED”
在这里插入图片描述

2. 设置编译器忽略警告(推荐)

(以警告16为例)
1)菜单栏 -> Project -> Options for Target ‘Target 1’
2)选择“BL51 Misc”,在“Disable Warning Numbers”输入框中写入待屏蔽的报警号。
在这里插入图片描述

3. 使用预处理指令

看到一篇文章说通过预处理指令的方式可以屏蔽一些特定的警告,即使用“#pramga …”,学习C的时候倒是用到过,但是KEIL里并没有尝试成功,这里附上原文链接。

https://blog.csdn.net/weixin_42747691/article/details/108534953

4. 选择警告等级

此屏蔽方式仍出自上方的链接,不过屏蔽方式有点不同,可能是版本不同导致的。另外,警告等级越高,可检测警告越多,选择“Warninglevel 0(disable)”会屏蔽所有警告。

个人觉得,部分警告还是有存在必要的,所以这种方式最好不要使用,发出来只是为了避坑。

菜单栏 -> Project -> Options for Target 'Target 1 ’ -> C51 -> Warning
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_54346266/article/details/128561322