[討論] C/C++ 如何處理 unchecked return value?
大家好
在這邊想討論一些 coding style
原PO目前負責的程式碼,散佈一些沒有確認回傳值的函式呼叫
e.g. fseek(ooxx)
----------------------------------------
聽到的說法是: 因為總是可以保證 fseek 回傳 0
所以這邊沒有做錯誤處理
或許也不需要做錯誤處理,因為一旦發生 return != 0
讓程式正常掛掉即可
-----------------------------------------
近日公司採用 Coverity 去做 static code checking
這類型的函式呼叫被回報為 unchecked return value,必須處理
我的想法是
既然總是保證return = 0
那就使用 assertion 做確認
int seekSuccess = fseek(ooxx);
assert(seekSuccess == 0);
----------------------------------------
這時,另一個問題就發生了
公司 Build 時使用 compiler 最佳化 -O2
assert 全部被編譯器skip
此時編譯器回報 seekSuccess <- unused variable
編譯失敗
-----------------------------------------
請問這類型的問題有比較好的寫法嗎?
先謝謝各位大大
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.68.205
→
08/04 16:10, , 1F
08/04 16:10, 1F
→
08/04 16:10, , 2F
08/04 16:10, 2F
→
08/05 00:12, , 3F
08/05 00:12, 3F
→
08/05 00:12, , 4F
08/05 00:12, 4F
推
08/05 00:43, , 5F
08/05 00:43, 5F
→
08/05 02:00, , 6F
08/05 02:00, 6F
→
08/05 02:01, , 7F
08/05 02:01, 7F
→
08/05 08:39, , 8F
08/05 08:39, 8F
→
08/05 10:04, , 9F
08/05 10:04, 9F
→
08/05 14:10, , 10F
08/05 14:10, 10F
→
08/22 12:08, , 11F
08/22 12:08, 11F
→
08/22 12:09, , 12F
08/22 12:09, 12F
→
08/22 12:10, , 13F
08/22 12:10, 13F
→
08/22 12:10, , 14F
08/22 12:10, 14F
→
08/22 12:11, , 15F
08/22 12:11, 15F
→
08/22 12:11, , 16F
08/22 12:11, 16F
Programming 近期熱門文章
PTT數位生活區 即時熱門文章