c++ - C++插件架构设计
问题描述
我有一个通用的设计问题。我正在创建一个小应用程序,它提供了一个简单的 SDK 来创建 DLL 插件。插件会将一些参数注册到应用程序,因此用户可以在 GUI 中以某种方式填充它们,应用程序将为插件设置这些值:
struct Param{ const char* name; Value value };
导出的 DLL 函数GetList()
将为 GUI 提供参数列表。用户可以更改这些并使用另一个导出函数将它们发送回 DLL SetParam(...)
。问题恰恰是 的选择Value
。目前我正在使用variant<int,float,string>
,但可能有更好的方法使它更灵活和可扩展?如果我必须添加分组在 ComboBox 中的参数列表,则此解决方案不行。可能我需要为他们开设几个课程,例如IntParam
,ComboboxParam
等。我想知道其他意见。
解决方案
推荐阅读
- http - 错误:无法下载网页:YouTube-dl 中的 HTTP 错误 403:禁止(由 HTTPError() 引起)
- excel - 在 Before_Close 中执行多个操作
- python - 如何计算 Django 模型对象的大小?
- sonarqube - 将 Sonarqube 从一台计算机移动到另一台计算机
- javascript - JavaScript:打破字符串以转换为 CSV
- c++ - 在指向包含 std::string 的对象的指针上调用析构函数的指针无效
- terraform - Terraform - 迭代嵌套地图
- docker - 更新 docker 镜像的最佳方法
- flutter - 如何将 dio 的响应数据分配给飞镖对象?
- python-3.x - 从 Build Pipeline 运行 python 测试时出错 - TypeError: __init__() got an unexpected keyword argument 'client_options'