在release環境下,我的代碼原本是這樣:
assert(WSAStartup(MAKEWORD(2, 2), &wsa) == 0);
莫名其妙的出現的這個錯誤,結果我認真看了幾次,發現vs直接跳過了這個函數的執行, 當時就傻眼了,知道release會優化,但是這樣太變態了吧,assert斷言內的函數語句不會執行。
然後我改回了下面這樣就好了
int re = WSAStartup(MAKEWORD(2, 2), &wsa);
if (re) {
//錯誤處理
}
在release環境下,我的代碼原本是這樣:
assert(WSAStartup(MAKEWORD(2, 2), &wsa) == 0);
莫名其妙的出現的這個錯誤,結果我認真看了幾次,發現vs直接跳過了這個函數的執行, 當時就傻眼了,知道release會優化,但是這樣太變態了吧,assert斷言內的函數語句不會執行。
然後我改回了下面這樣就好了
int re = WSAStartup(MAKEWORD(2, 2), &wsa);
if (re) {
//錯誤處理
}