【发布时间】:2010-06-23 16:45:56
【问题描述】:
我正在寻找“热插拔”C++ 代码库。我有兴趣让这种技术在 Linux/Mac/Windows 之间跨平台工作。基本上我想拥有定义所有可调用接口的主程序#include“StateMachine.h”。然后在运行时和 DURING EXECUTION 加载和卸载 StateMachineLibrary.a 以让我的应用程序使用不同的状态机。
我的一个想法可能是编写一个包装器,将编译后的代码加载到我自己的 malloc 内存中并在该内存中创建函数指针?
动机是我的项目的状态机部分会经常更改并需要重新编译,也将允许主应用程序在加载不同的状态机的情况下继续运行。由于某些问题,我希望使用“热插拔”库代替 Lua 脚本之类的东西,因此考虑到已经探索了替代方案。
【问题讨论】:
-
您要查找的关键字是插件,而不是热插拔。谷歌搜索 c++ 和插件应该会给你一些非常好的点击。
-
搜索 C++ OSGI - 有几个库实现了该框架。
标签: c++ cross-platform shared-libraries dynamic-linking