tengmo535 发表于 2011-6-22 10:33:41

MFC里ACE_NEW_RETURN或new ACE_WIN32_Proactor总是异常?

本帖最后由 tengmo535 于 2011-7-2 09:12 编辑

VS2008 MFC 动态共享DLL链接库
ACE_WIN32_Proactor* pWin32Proactor = new ACE_WIN32_Proactor(4);
//这样会出现:0x1002e142 (ACE.dll) 处未处理的异常: 0xC0000005

ACE_WIN32_Proactor *proactor_impl = 0;
ACE_NEW_RETURN (proactor_impl,ACE_WIN32_Proactor,-1);
ACE_NEW_RETURN (this->proactor_,ACE_Proactor (proactor_impl, 1 ), -1);
//这样也是同样异常。

这个问题以前有人提过,他说是MFC动态链接库与标准windows库的冲突;
具体怎么解决他没说。
还有谁遇到过?
(config。h中
#define ACE_HAS_STANDARD_CPP_LIBRARY 1
#define ACE_HAS_MFC 1
#include "ace/config-win32.h")

另外,ACE_Proactor::instance(4)的参数4是什么作用?底层没看出来他用在什么地方

yoogera 发表于 2011-6-24 22:21:22

有源代码应该能将问题定位的更准确,你看看到底是那句话异常了?

hu__yong 发表于 2011-7-22 14:56:49

请问你的new ACE_WIN32_Proactor总是异常 问题解决了嘛
我也遇到了这样的问题,不知道怎么办,网上也没有相关解决方法。

freeeyes 发表于 2011-7-22 16:40:22

4是IOCP的线程数。

lover587493 发表于 2011-8-2 21:44:18

我也碰到了这个问题在MFC下
跟了下原因为 ACE_Handle_Set类进入构造函数以后给ACE_HANDLE max_handle_成员变量赋值时      max_handle_变量的地址不可写            在内存中发现这段内存析构了。。。   
求解 。。

泡菜丝丝 发表于 2011-8-14 13:03:09

我用WTL也有这样的问题,求解中。。。

泡菜丝丝 发表于 2011-8-14 13:03:46

我用WTL也有这样的问题,求解中。。。

oncreate 发表于 2011-9-30 19:51:28

今天也遇到这个问题了,最后解决了,总结和编译顺序有关系,尤其带预编译头的,尤其照顾好 #include "StdAfx.h" 出现的位置,

JG.Shi 发表于 2012-5-1 15:56:21

oncreate 发表于 2011-9-30 19:51 static/image/common/back.gif
今天也遇到这个问题了,最后解决了,总结和编译顺序有关系,尤其带预编译头的,尤其照顾好 #include "StdAfx.h" ...

能否详细说明一下呢? 谢谢.

sevencat 发表于 2012-5-2 20:22:56

我想这个问题可能我找到了。
是因为FD_SETSIZE宏的问题。
请在
stdafx.h的最开始的地方定义一下;
#define FD_SETSIZE 1024
注意:要与ACE_wrappers\ace\config-win32-common.h中定义的或者你自己定义的保持一致。
页: [1] 2
查看完整版本: MFC里ACE_NEW_RETURN或new ACE_WIN32_Proactor总是异常?