从winsock.h升级到winsock2.h后出错

时间:2014-07-20 12:26:51

标签: c sockets visual-studio-2012

我在C中有一个重定向tcp端口的程序。我之前使用的是winsock.h,应用程序运行正常。

我现在已经包含了winsock2.h而不是winsock.h来获取WSAioctl()中没有的winsock.h等高级函数。

我按正确顺序(即winsock2.h之前)添加了windows.h,以便windows.h不包含winsock.h。我还尝试了其他方法来避免在winsock.h之前定义winsock2.h的{​​{1}}和WIN32_LEAN_AND_MEAN冲突。

我还链接了windows.h而不是ws2_32.lib

问题:应用程序使用wsock32.lib成功构建时没有错误但是当我以调试模式(或其他方式)运行程序时,它会崩溃并触发几个断点,其中一个断点位于{ {1}}。 这些例外的可能原因是什么?

平台:Windows 7 Professional 64位上的VS2012。

0 个答案:

没有答案