在Microsoft編譯器上,可以使用#pragma禁用特定的警告,而不禁用其他警告。如果編譯器警告「必須完成」的事情,這是非常有用的功能。禁用gcc中的特定警告
GCC在這一點上是否有類似的功能?這似乎是一個足夠明顯的特徵,它不可能想到它還沒有這個功能,但是網絡上的舊信息表明這個特徵不存在。
在GCC中使用什麼?
具體來說,我喜歡使用多字符常量,如'abc'。這些數據可以有效地評估爲基本256位數 - 這是一個非常方便的功能,但會觸發警告。它非常方便在case語句中切換四個字符串。
在Microsoft編譯器上,可以使用#pragma禁用特定的警告,而不禁用其他警告。如果編譯器警告「必須完成」的事情,這是非常有用的功能。禁用gcc中的特定警告
GCC在這一點上是否有類似的功能?這似乎是一個足夠明顯的特徵,它不可能想到它還沒有這個功能,但是網絡上的舊信息表明這個特徵不存在。
在GCC中使用什麼?
具體來說,我喜歡使用多字符常量,如'abc'。這些數據可以有效地評估爲基本256位數 - 這是一個非常方便的功能,但會觸發警告。它非常方便在case語句中切換四個字符串。
從GCC手冊:
Many options have long names starting with -f or with -W---for example,
-fforce-mem, -fstrength-reduce, -Wformat and so on. Most of these have
both positive and negative forms; the negative form of -ffoo would be
-fno-foo. This manual documents only one of these two forms, whichever
one is not the default.
但如果你問是否有一個源級別的警告禁用,如果該功能在GCC存在我不知道。
內源代碼寫:
#pragma GCC diagnostic ignored "-Wno-multichar"
// code with warnings but wont be displayed now...
另外值得注意的是,可以使用'#pragma GCC診斷推送'和'#pragma GCC診斷流行'來爲小部分代碼設置診斷。 – Hector 2017-11-30 03:27:13
重複:http://stackoverflow.com/questions/487108/how-to-supress-specific-warnings-in-g http://stackoverflow.com/問題/ 925179 /選擇性刪除警告http://stackoverflow.com/questions/965093/selectively-disable-gcc-warnings-for-only-part-of-a-translation-unit – 2009-07-04 07:59:58