遇到了一个问题:工作工程中有2线程类,A与B。  由于要解析XML文档,所以在B线程中new了一个xml对象(我使用的是CMarkUPMSXML,它只是对微软的组件进行封装)。 任务完成后,由A线程操作,完成对 new出来的xml对象的释放操作问题就是: 调试过程中发现, 在程序中的多个B类对象还没被释放完时,VS的DEBUG窗口就显示 msxml6.dll被卸载了。当出现这句打印时,后续的B类对象释放操作就导致程序崩溃了,具体的原因就在于 尚未析构掉的B对象里的 xml成员对象在被delete的时候出错了
随后针对此问题又做了一个实验: 写了一个很简单的单线程,批量的xml对象 new、delete的操作,每次都是在所有的xml对象被delete后,DEBUG控制台才显示 msxml6.dll被卸载我的问题就是: 莫非COM或DLL的引用计数 难道还和线程有关么?为什么会发生 xml对象还没被释放完,对应的msxml6.dll就已经被程序卸载的情况,我对COM这些东西不熟悉,所以这个问题也是我自己的一个猜测而已。 如果真的相关,哪些书上有介绍?恳请诸位赐教,谢谢