Keil MDK‑5 中使用 GNU ARM GCC 的 -Wno-* 选项屏蔽编译警告

在项目编译过程中,我们常常会遇到许多警告提示;而在有些情况下,当我们已经了解这些警告的原因时,可以选择忽略它们,从而减少干扰,集中精力修复其他更重要的问题。

一、添加屏蔽警告的编译选项

(一) 在工程中打开 "Options for Target"(可在魔法棒配置界面内找到对应入口)。

(二)切换到 "C/C++" 选项卡。 定位到 "Misc Controls" 文本框。

(三)将以下内容复制并粘贴到文本框中(各选项之间请确保用空格隔开,可按需填入):

-Wno-c11-extensions -Wno-date-time -Wno-padded -Wno-undef -Wno-missing-variable-declarations -Wno-cast-qual -Wno-unreachable-code -Wno-shift-sign-overflow

(四)点击 "OK" 保存设置

(五)编译项目并验证

二、说明各选项功能

-Wno-c11-extensions:屏蔽 C11 新特性(如匿名联合、泛型宏)的警告。

-Wno-date-time:屏蔽使用 DATETIME 宏所引发的警告。

-Wno-padded:屏蔽结构体自动内存对齐导致的填充警告。

-Wno-undef:屏蔽所有未定义宏的警告。

-Wno-missing-variable-declarations:屏蔽所有没有外部声明的非静态变量的相关警告

-Wno-cast-qual:屏蔽丢弃 const 或 volatile 限定符的行为

-Wno-unreachable-code:屏蔽与不可达代码(unreachable code)相关的警告

-Wno-shift-sign-overflow:屏蔽与符号位移溢出相关的警告

-Wno-gnu-zero-variadic-macro-arguments:屏蔽与 GNU 扩展中处理空变参宏(variadic macros)相关的警告

相关推荐
电鱼智能的电小鱼1 天前
基于电鱼 ARM 边缘网关的智慧工地数据可靠传输方案——断点续传 + 4G/5G冗余通信,保障数据完整上传
arm开发·人工智能·嵌入式硬件·深度学习·5g·机器学习
范纹杉想快点毕业1 天前
12个月嵌入式进阶计划ZYNQ 系列芯片嵌入式与硬件系统知识学习全计划(基于国内视频资源)
c语言·arm开发·单片机·嵌入式硬件·学习·fpga开发·音视频
wanhengidc1 天前
云手机畅玩 梦幻西游
运维·服务器·arm开发·智能手机·自动化
z202305081 天前
linux之arm SMMUv3 故障和错误(4)
linux·运维·arm开发
攒钱植发1 天前
嵌入式Linux——解密 ARM 性能优化:LDR 未命中时,为何 STR 还能“插队”?
linux·arm开发·c++·性能优化
小尧嵌入式2 天前
STM32启动汇编文件详解及启动逻辑
汇编·arm开发·stm32·单片机
wanhengidc3 天前
云手机搬砖 尤弥尔传奇自动化操作
运维·服务器·arm开发·安全·智能手机·自动化
花姐夫Jun3 天前
在 Ubuntu ARM 架构系统中安装并使用花生壳实现内网穿透
arm开发·ubuntu·架构
森G3 天前
四、Linux设备驱动介绍
linux·arm开发·ubuntu
GilgameshJSS3 天前
STM32H743-ARM例程36-DNS
c语言·arm开发·stm32·单片机·嵌入式硬件