#pragma GCC diagnostic ignored "-Wformat"
的使用在GCC下,#pragma GCC diagnostic ignored用於表示關閉診斷警告,忽略診斷問題。
格式:
#pragma GCC diagnostic ignored "-Wformat"
範例程式如下:
#include <stdio.h>
/************************************************************************/
int test1(void)
{
return;
}
//關閉警告,診斷忽略該函數沒有返回值
#pragma GCC diagnostic ignored "-Wreturn-type"
int test2(void)
{
return;
}
/************************************************************************/
int main(int argc, char* argv[])
{
test1();
test2();
return 0;
}
在gcc下編譯
gcc -o test test.c -Wall
函數test1會提示警告不帶返回值,而函數test2沒有警告。
test.c: 在函數‘test1’中:
test.c:6:5: 警告: 在有返回值的的函數中,‘return’不帶返回值 [-Wreturn-type]
如果遮蔽掉
//#pragma GCC diagnostic ignored "-Wreturn-type"
重新編譯,則兩個函數都是提示警告
test.c: 在函數‘test1’中:
test.c:6:5: 警告: 在有返回值的的函數中,‘return’不帶返回值 [-Wreturn-type]
test.c: 在函數‘test2’中:
test.c:14:5: 警告: 在有返回值的的函數中,‘return’不帶返回值 [-Wreturn-type]
[參考資料]
GCC, the GNU Compiler Collection
GCC, Diagnostic Pragmas