架构:插件和独立行为
Architecture: plugin and standalone behavior
我想使用 C++ 和 Qt 改进我的新软件的概念架构和模块化。
我正在考虑开发一个"主应用程序"和一组"插件"(共享库(来扩展"主应用程序"功能。
我已经对此进行了简单的测试:
1-我构建了一个自定义共享库(我称之为"带UI的插件"(
2-我构建使用QPluginLoader类加载共享库的主应用程序
3-当主应用程序启动时,它会动态加载位于特定文件夹中的所有"插件"。
4-一切运行良好!它有效!
所以,我的怀疑是我希望每个"插件"也可以单独运行......就像一个独立的可执行应用程序。我想"双击"每个插件,或使用终端/控制台调用它......传递一些输入参数...并在没有"主应用程序"的情况下运行它。
如果这是可能的,我的架构将基于开发每个"插件",就像一个完全自主的"软件段"(如可执行文件(一样。
但是,如果此插件文件位于"插件文件夹"内...当"主应用程序"启动时,它也可以动态加载它(就像共享库一样(。
">加载 dinamicaly"的功能对于能够在"主应用程序"内创建自定义菜单和内部选项非常重要。 而将来,其他人会为这个"主应用"开发新的"插件"。所以我无法"锁定"这个动态加载功能。
有没有办法"混合"这两种文件行为(可执行文件和共享库(?怎么办?
有没有办法"混合"这两种文件行为(可执行文件和共享库(?怎么办?
如果在共享对象的 ELF 标头中指定解释器和入口点,这在 Linux 上基本上是可能的。见 https://stackoverflow.com/a/30807350/563990
相关文章:
- 从C++本机插件更新Vector3数组
- 使用CMake创建QML插件
- 如何使用OpenCV将RBG图像转换为HSV,并将H、S和V值保存为C++中的3个独立图像
- 独立读取-修改-写入顺序
- 停止cmake target_link_libraries将插件中静态库的两个对象文件链接到静态库本身
- 如何创建从Maya(或类似程序)到虚幻引擎的自定义数据导出插件
- 带有多个独立参数的C++For循环
- clang 插件:在编译过程中修改 AST
- 实现动态插件管理器
- 我想通过带有C++和Python的插件创建一个可扩展的应用程序
- Agora.io 虚幻引擎插件构建错误
- 使用带有C++对象和标准库容器的插件系统
- 运行命令 "rosbag play example.bag" 时出错。找不到与插件 rosbag/NoEncryptor 对应的库
- 编译 llvm 插件时出现问题:llvm/Config/llvm-config.h:没有这样的文件或目录
- 通过 Gazebo 世界插件将静态对象附加到机器人链接
- 使用Cmake将插件安装到独立的Qt Designer(不是Qt创建者)中
- 架构:插件和独立行为
- boost ::日志 - 使用库/插件内的独立严重性级别
- 编译时插件/具有独立模块约束的自动工厂注册
- 用c++插件为nodejs应用程序构建一个独立的可执行文件