-
去除未使用的变量的警告
例如,以下代码,会报出未使用的变量警告
void test_func(void)
{
int i;
int j = 2;
i = j+5;
}
编译敬告如下:
那如下去除呢,可以使用void强转这个变量来去除,先定义一个宏,如下
#define UNUSED_VARIABLE(X) ((void)(X))
将上述函数中的内容修改如下
编译通过,警告被去除了
-
去除未使用的参数的警告
例如以下函数
void test_func(uint32_t param)
{
//代码逻辑实现
}
如果编译报了未使用的参数警告,则可以通过以下方式去除,先定义一个宏
#define UNUSED_VARIABLE(X) ((void)(X))
#define UNUSED_PARAMETER(X) UNUSED_VARIABLE(X)
在函数的入口去除未使用的参数警告
void test_func(uint32_t param)
{
UNUSED_PARAMETER(param);
}
-
去除未使用的返回值警告
例如以下函数
uint32_t test_func(void)
{
uint32_t sum = 0;
for(uint32_t i = 0; i<10; i++)
{
sum += i;
}
return sum;
}
调用函数,如果编译器报了未使用的返回值警告,则按如下方式去除警告
#define UNUSED_VARIABLE(X) ((void)(X))
#define UNUSED_RETURN_VALUE(X) UNUSED_VARIABLE(X)
调用的地方修改如下
UNUSED_RETURN_VALUE(test_func());