跳至主要內容

应用程序没有调用 WSAStartup,或者 WSAStartup 失败。一次奇怪的错误

muzzik小于 1 分钟笔记编程语言C++Bug

在 release 环境下,我的代码原本是这样:

assert(WSAStartup(MAKEWORD(2, 2), &wsa) == 0);

莫名其妙的出现的这个错误,结果我认真看了几次,发现 vs直接跳过了这个函数的执行, 当时就傻眼了,结果是 release 优化后 assert 断言内的函数语句不会执行。
然后我改回了下面这样就好了

int re = WSAStartup(MAKEWORD(2, 2), &wsa);
if (re) {
	//错误处理
}

📣 觉得很赞?分享给你的朋友吧!