推荐用于跨平台进程内动态库绑定的C++包装器(即轻量级,高性能COM或CORBA)

Tim*_*Tim 9 c++ cross-platform shared-libraries dynamic-linking

我们正在开发一个具有插件"架构"的应用程序,以允许应用程序的消费者提供他们自己的专有算法.(我们基本上会有一组解析器,并允许第三方提供自己的解析器)

域空间需要非常高的性能,因此进程外绑定不起作用,我们宁愿留下像CORBA和COM这样的重量级东西.

基本上我们正在寻找一个简单的跨平台包装器:

  • 从相对路径加载库
  • 提供特定dll/.so到某个配置/名称的映射
  • 做一些初始化并查询库以确保它提供必要的功能

我认为这只是一个环绕loadlibrary()和方法调用导出.我们可以自己写这个,但我们宁愿使用现有的代码,因为我们已经足够了.

同样,吞吐量和性能非常重要.

类似的问题是:

COM的跨平台替代方案 - 这个很接近,但我们只想在进程中进行 - 不需要进程,我们的需求有点"重量轻".

C++跨平台动态库; Linux和Windows

这适用于非托管C++ - 我们不能使用.NET

编辑 - 我们发现了什么

我们发现Poco非常适合我们的需求.作为奖励这个页面是一个非常赞赏的关于C++开发状态和语言方向的评论...

这是一个简单的跨平台包装,我们需要Poco提供.真的没有多少,但仍然节省了我们的时间和测试.运行时没有额外的开销.