前言:
DLL 是個很久遠的文件格式,以至于它只支持導出函數(請忽略 .net 的 DLL)。至于導出 class,也是由于編譯系統的支持才勉勉強強能進行,只能靜態加載,實際上對于DLL文件來說它導出的還是函數?!陨?,個人的一點淺顯理解。
問題:
有沒有存在一種好的方式,讓DLL能夠被動態加載,并且能夠方便地得到里面的 C++ class 信息?
備選:
1、別想了,老老實實地用吧,還是導出純C函數= =
2、大膽的導出 class 吧,如果動態加載,自己去拼那些編譯后名字吧。。
3、COM 形式?可是,要注冊到系統中去,憑空多了系統注冊表依賴
4、還有嗎?
5、甚至可以拋開DLL,有沒有類似的一種方式,可用于二進制代碼的模塊劃分以及閉源的代碼重用?
(至于跨平臺啥的先不考慮吧,暫定Windows平臺下吧)
請不吝指教~
posted on 2010-12-18 22:35
溪流 閱讀(2247)
評論(15) 編輯 收藏 引用 所屬分類:
C++ 、
Windows