找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 6032|回复: 1

ACE Reactor与MFC一起使用的问题

[复制链接]
发表于 2008-9-9 19:06:24 | 显示全部楼层 |阅读模式
我在MFC 对话框程序中使用了 Reactor
运行时出现以下地方访问冲突
ACE_INLINE int
ACE_OS::thread_mutex_lock (ACE_thread_mutex_t *m)
{
  // ACE_OS_TRACE ("ACE_OS::thread_mutex_lock");
#if defined (ACE_HAS_THREADS)
# if defined (ACE_HAS_WTHREADS)
::EnterCriticalSection (m);
  return 0;
# elif defined (ACE_HAS_STHREADS) || defined (ACE_HAS_PTHREADS) || defined (ACE_VXWORKS)
  return ACE_OS::mutex_lock (m);
# endif /* ACE_HAS_STHREADS || ACE_HAS_PTHREADS || VXWORKS */
#else
  ACE_UNUSED_ARG (m);
  ACE_NOTSUP_RETURN (-1);
#endif /* ACE_HAS_THREADS */
}
  [下面的框架可能不正确和/或缺失,没有为 ntdll.dll 加载符号]

我以为是和MFC的冲突,然后在ace的config.h中定义了
#define ACE_HAS_MFC 1
重新编译ACE后,还是一样的错。
很怪异,有没有哪位大虾遇到过?

谢谢指教
 楼主| 发表于 2008-9-9 19:06:35 | 显示全部楼层
我找到了原因。与MFC一起使用的时候必须加上ACE::init()

否则不会自动加载ntdll.dll。

还是很庸俗的问题,呵呵,习惯用控制台了,和MFC一起用想不起有这个东西
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-5-4 18:09 , Processed in 0.016747 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表