【发布时间】:2008-12-10 22:53:52
【问题描述】:
我正在使用用非托管 C++ 编写的第 3 方 DLL,它控制我们拥有的一些硬件。
不幸的是,这个 DLL 不时崩溃,我的任务是让它自动“重新加载”。我不太确定如何继续获得最佳结果。
我的项目使用 C++.Net 2.0 (2005)。我将第 3 方的东西包装在一个单独的 DLL 中。我一直在尝试 FreeLibrary() 和 LoadLibrary()。但是,当我使用 FreeLibrary() 时,仍然分配了一些内部 DLL 依赖项,并且 LoadLibrary() 会因为内存损坏而使其崩溃。
建议的另一种方法是使用 .NET 远程处理接口重构整个项目。杀死另一个进程并重新启动它会更容易,但工作量很大。
有什么建议吗?指针?提示?
【问题讨论】: