1. 前言
编译警告对于工程师们来说,是再常见不过的了。对于严谨的工程师们来说,任何warning 都是不可忽视的。
2. 巧妙使用 warning
在 STM32CubeIDE 中,我们可以通过主动 warning(甚至 error)的方式来通知工程师,使得一些容易遗漏的配置得到重视。
例如,在释放参考代码给客户时,希望客户注意到里面的项目名称和项目版本,那么我们可以在代码中,通过“#error ”来强调必须要修改的信息,通过“#warning”来备注需要注意的信息。具体代码如图 1:
图1.巧用 warning – 在代码中主动添加产生 warning 的代码
这样,当客户编译工程时,会出现 error 和 warning,见图 2,只有将“#error”和“#warning”两行分别注释掉,才可以分别消除这两项编译信息,以此达到警示客户的目的。
图2.巧用 warning – IDE 编译时会主动产生 warning
2.1. 主动屏蔽特定的 warning
在有些场景下,我们还可以在特定的代码或者文件作用域内,主动屏蔽特定的warning。
例如,工程中写了一个测试函数“void MyTestFunction(void)”,但是在工程中暂时没有被调用,直接编译会得到“Wunused-function”的 warning。
但是如果在代码中添加这样的语句: