peakzhang 发表于 2008-9-9 19:06:24

ACE Reactor与MFC一起使用的问题

我在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后,还是一样的错。
很怪异,有没有哪位大虾遇到过?

谢谢指教

peakzhang 发表于 2008-9-9 19:06:35

我找到了原因。与MFC一起使用的时候必须加上ACE::init()

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

还是很庸俗的问题,呵呵,习惯用控制台了,和MFC一起用想不起有这个东西
页: [1]
查看完整版本: ACE Reactor与MFC一起使用的问题