当先锋百科网

首页 1 2 3 4 5 6 7
  • 去除未使用的变量的警告

例如,以下代码,会报出未使用的变量警告

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());