作为一个合格的C语言程序员,在编译代码的时候一定要加上-W和-Wall选项,要保证代码中没有任何的warning信息,提高代码的可靠性。-Wall选项意思是编译后显示所有警告,-W选项只显示编译器认为会出现错误的警告。
但是有些时候,有些功能模块尚待开发,有些函数也没有完成功能,虽然不影响程序的正常执行,但是待开发的代码难免会有warning输出。如果去掉编译选项-W和-Wall,整个工程的告警就都会被忽略掉,那么怎么优雅的屏蔽部分代码的告警呢?
#pragma GCC diagnostic ignored "告警类型"
编译如下代码:
#include
void print_message(char *str, int num)
{
printf("%s : %d\n", str, &num);
return;
}
int main(int argc, char *argv[])
{
int i, j, k, t;
t = 0;
for(i = 0; i < 3; i++)
{
print_message("J value is", j++);
}
}
编译时加上-Wall选项,会出现如下告警提示: