问题描述:main exe静态链接ACE lib, 动态链接serv.dll, serv.dll也静态链接ACE lib。在serv.dll中使用ACE_Task进行多线程操作,结果程序崩溃。
解决方法:serv.dll中初始化时对ACE进行初始化ACE::Init(),结束时对ACE反初始化ACE::finit()
原理:静态链接导致serv.dll中和main exe中各有一个ACE, 需要分别对其初始化才正确。
问题描述:main exe静态链接ACE lib, 动态链接serv.dll, serv.dll也静态链接ACE lib。在serv.dll中使用ACE_Task进行多线程操作,结果程序崩溃。
解决方法:serv.dll中初始化时对ACE进行初始化ACE::Init(),结束时对ACE反初始化ACE::finit()
原理:静态链接导致serv.dll中和main exe中各有一个ACE, 需要分别对其初始化才正确。