在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) {
//错误处理
}