亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

只選擇部分翻譯單元禁用GCC警告?

只選擇部分翻譯單元禁用GCC警告?

C++ C
catspeake 2019-08-02 16:15:36
只選擇部分翻譯單元禁用GCC警告?與此MSVC預處理器代碼最接近的GCC是什么?#pragma warning( push )                    // Save the current warning state.#pragma warning( disable : 4723 )          // C4723: potential divide by 0// Code which would generate warning 4723.#pragma warning( pop )                     // Restore warnings to previous state.我們在常用的標題中包含代碼,我們不希望生成特定的警告。但是,我們希望包含這些標頭的文件繼續生成該警告(如果項目啟用了該警告)。
查看完整描述

3 回答

?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

可以在GCC自4.6版本開始實施,或者在2010年6月左右在主干中實現。

這是一個例子:

#pragma GCC diagnostic push#pragma GCC diagnostic error "-Wuninitialized"
    foo(a);         /* error is given for this one */#pragma GCC diagnostic push#pragma GCC diagnostic ignored "-Wuninitialized"
    foo(b);         /* no diagnostic for this one */#pragma GCC diagnostic pop
    foo(c);         /* error is given for this one */#pragma GCC diagnostic pop
    foo(d);         /* depends on command line options */


查看完整回答
反對 回復 2019-08-02
?
aluckdog

TA貢獻1847條經驗 獲得超7個贊

最接近的是GCC編譯診斷,#pragma GCC diagnostic [warning|error|ignored] "-Wwhatever"。它并不是非常接近你想要的,并查看鏈接了解詳情和警告。


查看完整回答
反對 回復 2019-08-02
?
大話西游666

TA貢獻1817條經驗 獲得超14個贊

我做了類似的事情。對于第三方代碼,我根本不想看到任何警告。所以,而不是指定-I/path/to/libfoo/include,我用過-isystem /path/to/libfoo/include。這使得編譯器將這些頭文件視為“系統頭”以用于警告,并且只要您不啟用-Wsystem-headers,您就大多數都是安全的。我仍然看到一些警告泄漏出去,但它減少了大部分垃圾。

請注意,如果您可以通過include-directory隔離違規代碼,這只會對您有所幫助。如果它只是您自己項目的一個子集,或者與其他代碼混合在一起,那么您就不走運了。


查看完整回答
反對 回復 2019-08-02
  • 3 回答
  • 0 關注
  • 679 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號