gpt4 book ai didi

c++ - Boost 插件选择

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:31:57 25 4
gpt4 key购买 nike

我希望在我们当前的应用程序(Unix、C++)中实现一个插件架构,并且一直在审查 Boost 库中的选项(待批准)。

编辑:我希望在运行时动态添加类。

Boost.Plugin

boost .反射

boost .扩展

我想知道每个人对这些和其他实现的经验/意见是什么。

最佳答案

嗯。我们刚刚使用了 dlopendlsym连同一对 extern "C" static必须在dll中定义的函数

extern "C" static plugin* create( arg_pack* );
extern "C" static errno_t destroy( plugin* );

让插件管理器查找“.dll”或“.so”文件并将它们加载到
map<string, pair< plugin*(*)(arg_pack*), errno_t(*)(plugin*)> >

然后您可以根据名称(上面的字符串)查找插件并获取它的“构造函数”或“析构函数”

另请参阅:gmodule

关于c++ - Boost 插件选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4803926/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com