error: unused variable ‘handle’ [-Werror=unused-variable]
某些编译选项下, 该warning会报error。
处理方法:
可定义如下宏进行处理,
#define UNUSED(x) (void)(x)
void foo(const int i) {
UNUSED(i);
}
另外记录下gcc常见编译选项
选项 说明
-Wimplicit-int 警告没有指定类型的声明
-Wimplicit-function-declaration 警告在声明之前就使用的函数
-Wimplicit 同-Wimplicit-int和-Wimplicit-function-declaration
-Wpointer-arith 对函数指针或者void *类型的指针进行算术操作时给出警告
-Wredundant-decls 如果在同一个可见域某定义多次声明,编译器就发出警告,即使这些重复声明有效并且毫无差别
-Wreturn-type 如果函数定义了返回类型,而默认类型是int型,编译器就发出警告.同时警告那些不带返回值的 return语句,如果他们所属的函数并非void类型
-Wshadow 当一个局部变量遮盖住了另一个局部变量,或者全局变量时,给出警告
-Wunused 如果某个局部变量除了声明就没再使用,或者声明了静态函数但是没有定义,或者某条语句的运算结果显然没有使用, 编译器就发出警告
-Wswitch 如果某条switch语句的参数属于枚举类型,但是没有对应的case语句使枚举元素,编译器 就发出警告(default语句的出现能够防止这个警告).超出枚举范围case语句同样会 导致这个警告
-Wnested-externs 如果某extern声明出现在函数内部,编译器就发出警告