0
如何構建包裝到非託管代碼以便在託管代碼中使用它,以及您何時必須這樣做?包裝到非託管代碼
如何構建包裝到非託管代碼以便在託管代碼中使用它,以及您何時必須這樣做?包裝到非託管代碼
你通常不需要包裝器,許多具有直接導出的C函數的DLL可以用[DllImport]屬性進行調整。 C導出的例外是設計不佳的DLL,它需要客戶端代碼釋放內存,託管代碼無法完成,因爲它無法訪問分配器。
有有一個包裝的情況是一個本地C++類。由於不知道如何創建類的實例(這需要知道對象的大小並調用構造函數),也不知道如何銷燬它(這需要調用析構函數),所以託管代碼無法直接調用它。在C++/CLI中執行起來非常簡單。非常機械的,SWIG項目可以自動完成。然而,學習這個工具比學習如何編寫包裝更重要。
沒有完全理解。你說c類可以被調整,但C++不能?爲什麼? – 2011-02-10 06:25:41