私たちは、アプリの利用者が独自のアルゴリズムを提供できるようにするプラグイン「アーキテクチャ」を備えたアプリケーションを開発しています。(基本的にパーサーのセットがあり、サードパーティが独自のパーサーを提供できるようにします)
ドメインスペースには非常に高いパフォーマンスが必要なため、アウトプロセスバインディングは機能せず、CORBAやCOMなどの重いものはそのままにしておきます。
基本的に、次のような単純なクロスプラットフォームラッパーを探しています。
- 相対パスからライブラリをロードする
- 特定のdll/.soのいくつかの構成/名前へのマッピングを提供します
- 初期化を行い、ライブラリにクエリを実行して、必要な機能が提供されていることを確認します
これは実際にはloadlibrary()とエクスポートされたメソッド呼び出しをラップアラウンドするだけだと思います。これは自分で書くこともできますが、十分な数があるので、既存のコードを使用したいと思います。
繰り返しますが、スループットとパフォーマンスは非常に重要です。
同様の質問は次のとおりです。
COMのクロスプラットフォームの代替手段-これは近いですが、インプロセスのみが必要です-アウトプロセスの必要はなく、私たちのニーズは少し「軽量」です。
C++クロスプラットフォームダイナミックライブラリ; LinuxとWindows
これはアンマネージC++用です-.NETは使用できません
編集-私たちが見つけたもの
Pocoは私たちのニーズに最適であることがわかりました。ボーナスとしてこのページは、C++開発の状態と言語の方向性について非常に高く評価されているコメントです...
Pocoが提供する必要があったのは、単純なクロスプラットフォームラッピングでした。実際にはそれほど多くはありませんが、それでも時間とテストを節約できます。実行時に追加のオーバーヘッドはありません。