BastEt 阅读(1737) 评论(3)
原文转自:
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去掉,又出这些玩意儿了。

评论列表
Diviner
re: vs2010的一个EWOULDBLOCK的郁闷事情。
包括libcurl,openssl,ace或者更多的网络相关库在vs2010下可能都要做一些相应的修改。
周星星
re: vs2010的一个EWOULDBLOCK的郁闷事情。(所有想在vc2010下写网络程序的可能都得关注一下)
errno.h socket return codes now inconsistent with WSAGetLastError?
#define errno WSAGetLastError()
------ 这种设计是糟糕的,估计要被人骂

发表评论
切换编辑模式