c++ - DLL 应用程序的在线更新

标签 c++ dll updates

我有一个插件应用程序,它是一个在(外国)C++ 主机中运行的 C++ DLL。 我想允许插件的在线更新。 我该怎么做?

一种可能的方法是将 DLL 分离为包装器 DLL 和内容 DLL,并且 在每次更新时移动到新的内容 DLL。

有没有更好的方法来实现它?

谢谢

最佳答案

如果您无法控制主机,那么您必须自己进行动态加载/卸载。正如您正确注意到的那样,为此您需要两个 DLL。这可能是最简单的方法,但您需要确保在交换 DLL 时主机不会造成任何伤害。最简单的解决方案可能是加载两个 DLL,然后在卸载旧代码之前在它们之间执行原子切换。

关于c++ - DLL 应用程序的在线更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6583460/

相关文章:

c++ - 什么是 C++ 中的标量对象?

c++ - 为什么我的二维数组的第二行从 RAM 中获取随机值?

delphi - 在主机应用程序和 DLL 之间传递包含方法的记录

c++ - 如何从 DLL 导出中删除下划线

android - 如何将 Android Phonegap 2.7.0 升级到 2.8.1

javascript - CouchDB 更新相关文档的最佳实践

c++ - 使用 std::random_device 在 C++ 中生成随机数

c++ - 什么是与 Codeblocks C++ 项目一起使用的好 gitignore?

c# - 如何从 node.js 文件调用 C# dll 文件中的函数

Python - 在迭代时更新 .count() 函数之后的字典值