0

我正在使用 STM32Cube 生成带有 FreeRTOS 10.0.1 和 CMSISv2 API 的 IAR EW 8.2 项目。当我清理项目并再次构建时,我收到以下警告

警告[Pe177]:变量“hTask”已声明但从未被引用

警告[Pe177]:变量“hTimer”已声明但从未被引用

警告[Pe177]:变量“hEventGroup”已声明但从未被引用

警告[Pe177]:变量“hSemaphore”已声明但从未被引用

警告[Pe177]:变量“hQueue”已声明但从未被引用

我知道这些警告不应该影响我的代码,但是如果这些警告总是存在或者它们是否取决于我的设置,我会很感兴趣。

4

1 回答 1

1

这些是 IAR 编译器生成的警告。使用这些变量后,它们会消失。如果不使用它们。. . 摆脱它们,警告也会消失;-) 死代码从来都不是一件好事!具体来说,您应该真正考虑将警告视为更像错误,因为它会强制使代码库更清晰。

如果您真的想抑制警告,您可以在 IAR 中屏蔽个别警告: 1. 选择 Project-->Options-->Compiler 选项卡 2. 选择 Suppress these diagnostics 并指定您想要的警告 3. 单击 OK。

于 2019-11-07T06:17:14.443 回答