Re: [問題] 編譯器 關掉特定 warning
※ 引述《xxxx9659 (嘎嘎嘎嘎嘎)》之銘言:
: 程式常常寫錯,為了比較好 debug
: 所以編譯的時候會對 gcc 下 -Wall 跟 -Werror 參數
: 對於一些我覺得不太重要的 warning 不知道怎麼關掉
: 例如,我想要把這兩個 warning 關掉
: void fn1(){
: int a = 1;
: (a == 10) && printf("a 等於 10\n");
: // warning: value computed is not used
: }
: void fn2(){
: int a;
: // 這個程式還沒開始寫,只是先寫出架構
: // warning: unused variable 'a'
: }
: 上網查到這樣可以關
: #pragma warning(push)
: #pragma warning(disable : warning id )
: //程式...
: #pragma warning(pop)
: 但是我不知道這兩個 warning 的 id 是多少
: 請問 warning id 有表可以查嗎?
我個人比較建議明確的在程式裡標明「這個狀況」不要顯示警告
而不是一股腦把所有這種警告都關掉
這些警告的存在是有意義的, 如果你哪天真的寫錯也是要靠它們
這類警告其實也很好繞過
有很多函式庫都會提供類似的東西
例如 Qt 就有
#define Q_UNUSED(arg) (void)(arg)
這樣你上面的只要多寫一行
Q_UNUSED(a)
就可以避免掉警告
另一個...雖然我知道這樣比較快不過寫成 if clause 還是比較好吧
不然其實 Q_UNUSED((a == 10) && printf("a 等於 10\n")); 這樣也行
--
作者 Linux (Windows) 看板 C_and_CPP
標題 [問題] 如何確認是否 free 對記憶體
時間 Fri Nov 2 00:14:03 2012
→
11/02 00:43,
11/02 00:43
→
11/02 00:44,
11/02 00:44
→
11/02 00:45,
11/02 00:45
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.47.18
※ 編輯: uranusjr 來自: 220.133.47.18 (03/14 12:42)
推
03/14 12:53, , 1F
03/14 12:53, 1F
→
03/14 13:03, , 2F
03/14 13:03, 2F
推
03/14 13:40, , 3F
03/14 13:40, 3F
推
03/14 14:42, , 4F
03/14 14:42, 4F
推
03/14 14:55, , 5F
03/14 14:55, 5F
→
03/14 14:57, , 6F
03/14 14:57, 6F
推
03/14 20:54, , 7F
03/14 20:54, 7F
→
03/14 20:55, , 8F
03/14 20:55, 8F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 2 之 5 篇):