您的位置:首页 > 理论基础 > 计算机网络

vs2010 的一个EWOULDBLOCK的郁闷事情。(所有想在vc2010下写网络程序的可能都得关注一下)

2010-05-03 11:25 323 查看
原文转自:
http://acejoy.com/bbs/viewthread.php?tid=2154&extra=page%3D1
modern




Rank: 7Rank: 7Rank: 7

UID 544

精华 1

积分 365


子 325

威望 365

金钱 365

ACEJOY 366

阅读权限 100

注册 2008-6-13


态 离线

#1

使用道具

发表于 2010-4-30 10:48 资料 个人空间 短消息 加为好友

ACE5.7.8
在vs2010正式版下不可用

不解释了,下面的转的一段话说得比较清楚了。

It says that you can
#define errno WSAGetLastError() and has the following example:

r =
recv(...);

if (r == -1 /* (but see below) */

&&
WSAGetLastError() == EWOULDBLOCK)

{...}

This code will NOT
work in VS2010 because EWOULDBLOCK is 140 and WSAEWOULDBLOCK is 10035L.

Some
popular libraries like openssl are now broken because of this.


要有涉及这类代码的都得改一下才行了,太郁闷 了,好不容易才把那个sb的manifest去掉,又出这些玩意儿了。

包括libcurl,openssl,ace或者更多的网络相关库在vs2010下可能都要做一些相应的修改。

http://msdn.microsoft.com/en-us/library/ms737828%28VS.85%29.aspx

http://connect.microsoft.com/VisualStudio/feedback/details/509380/errno-h-socket-return-codes-now-inconsistent-with-wsagetlasterror

Remove
Comment 41887
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐