3
我正在爲boost容器創建一個包裝器DLL(map,vecrtor,set ..)。在我的應用程序中,我想將C++對象從DLL導出到客戶端。所以我剩下兩個出口選項:從DLL中導出C++對象
- 使用
(_declspec)dllexport
導出C++類並在客戶端中使用。 - 提供一個只有純虛函數的抽象類(如COM中的接口),並且只從DLL中導出單個方法(例如
CreateMap
)。
我在客戶端廣泛使用容器(地圖,矢量..)。
任何人都可以幫助我,這將是出口的最佳方法嗎?
map,vector和set是模板,你打算如何將它們放在DLL中? –
map,vector是Dll的私人類成員 – Ushus
@ user3283893由於問題處於擱置狀態,因此我無法將其作爲答案發布,但請查看https://github.com/jbandela/cppcomponents這是一個C + +11只有頭的庫,允許您將C++對象放入DLL中,並且可以從其他編譯的exe或DLL中調用它們,即使它們是用不同的C++編譯器或標準庫編譯的。如果你想使用它,讓我知道,我可以幫你開始 –