我们正在开发一个应用程序,该应用程序将具有一个插件“架构”,以允许应用程序的消费者提供他们自己的专有算法。(我们基本上会有一套解析器,并允许第三方也提供他们自己的)
域空间需要非常高的性能,因此进程外绑定不起作用,我们宁愿不理会像 CORBA 和 COM 这样的重量级东西。
基本上,我们正在寻找一个简单的跨平台包装器:
- 从相对路径加载库
- 提供特定 dll/.so 到某个配置/名称的映射
- 进行一些初始化并查询库以确保它提供必要的功能
我认为这实际上只是围绕 loadlibrary() 和导出的方法调用。我们可以自己编写,但我们宁愿使用现有的代码,因为我们的盘子已经足够了。
同样,吞吐量和性能非常重要。
类似的问题是:
COM 的跨平台替代方案- 这个很接近,但我们只需要进程内 - 不需要进程外,我们的需求是“更轻一些”。
这适用于非托管 C++ - 我们不能使用 .NET
编辑 - 我们发现了什么
我们发现Poco非常适合我们的需求。作为奖励,此页面非常感谢您对 C++ 开发状态和语言方向的评论...
这是 Poco 提供的一个简单的跨平台包装。真的没什么,但仍然节省了我们的时间和测试。在运行时没有额外的开销。