私はブーストコンテナ用のラッパーDLLを作成しています(map、vecrtor、set ..)。私のアプリケーションでは、C++オブジェクトをDLLからクライアントにエクスポートしたいと考えています。だから私はエクスポートのための2つのオプションが残っている:DLLからC++オブジェクトをエクスポートする
(_declspec)dllexport
を使用してエクスポートし、クライアントで使用する。- 純粋な仮想関数(COMのインターフェイスなど)のみを持つ抽象クラスを用意し、DLLから単一のメソッド(たとえば
CreateMap
)をエクスポートします。
私は、クライアントでコンテナ(マップ、ベクトル..)を広範囲に使用しています。
誰かが私を助けてくれますか?それはエクスポートに最適な方法でしょうか?
マップ、ベクトル、セットはテンプレートですが、どのようにそれらをDLLに配置しますか? –
map、vectorはDllのプライベートクラスメンバーです – Ushus
@ user3283893質問が保留されているため、これを回答として投稿することはできませんが、https://github.com/jbandela/cppcomponentsを参照してください。C + DLLにC++オブジェクトを配置し、別のC++コンパイラまたは標準ライブラリでコンパイルされていても、他のコンパイル済みのexeまたはDLLから呼び出すことができる+11ヘッダー専用ライブラリです。それを使用したい場合は、私に知らせてください。 –