我知道如何禁用全部未知#pragma警告。答案是,例如,在這裏:SO: How to disable #pragma warnings?如何禁用特定的未知#pragma警告? (GCC和/或鐺)
我的問題是 - 有沒有辦法禁用一個特定的雜注「未知編譯指示」警告?例如,如果我禁用警告爲#pragma ugubugu
下面的代碼:
#pragma ugubugu
#pragma untiunti
int main() {return 0;}
當編譯之一:
g++ pragma.cpp -Wall
clang++ pragma.cpp -Wall
應該產生一個警告:
warning: ignoring #pragma untiunti
也許,例如,有一種簡單的方法來註冊一個什麼也不做的定製編譯指示?
很高興知道Visual Studio是否有這樣的選項,但這並不重要。
謝謝!
「但爲什麼最終他玩定製編譯指示?」
我的源碼由兩個編譯器分析。在其中之一中,有一個特殊的#pragma
,這是另一個未知的。當然,我可能會在#pragma
的每個實例周圍放置#ifdef COMPILER_IDENTIFICATION_MACRO ... #endif
,但這會很麻煩。
鑑於沒有人提出更好的解決方案,我必須接受那個說「現在有辦法做到這一點」的人 - 那就是 - 你的。另外,如果我決定深入研究,那麼指向編譯器內部的指針可能會有所幫助。謝謝! – CygnusX1
沒有人知道在代碼中抑制警告的方法嗎?當我提交它時,我會無法控制的自動化項目生成。它被建立完整的警告。 – Dan
的#pragma GCC診斷推 的#pragma GCC診斷忽略「-Wunknown的編譯指示」 ...使用未知編譯指示代碼... 的#pragma GCC診斷推 – Dan