我正在使用第三方DLL编写的非托管C++来控制我们拥有的某些硬件。如何重新加载经常崩溃的第三方DLL
不幸的是,这个DLL不时崩溃,我的任务是让它自动“重新加载”。我不太确定如何继续获得最佳结果。
我的项目使用C++。Net 2.0(2005)。我将第三方的东西封装在单独的DLL中。我一直在尝试FreeLibrary()和LoadLibrary()。但是,当我FreeLibrary(),一些内部DLL依赖关系仍然分配和LoadLibrary()将使其崩溃,因为内存损坏。
建议的另一种方法是使用.NET远程接口重构整个项目。这会使杀死另一个进程并重启它变得更容易,但这将是很多工作。
有什么建议吗?指针?提示?
对,对于本机代码,你永远不知道它损坏了哪些内存(结构) - 包括非常拥有的CLR。 – 2008-12-11 16:44:55