[英]create c# dll which can be used from both c# and c++
我正在將解決方案從c#轉移到c ++。 我創建了幾個本地c ++ dll,它們就很好了。 將本機dll連接到c ++和c#很容易。 對於C#,我使用P / Invoke進行方法執行,並使用delegate
進行回調,我只是將指針傳遞給非托管內存,然后使用Marshall類讀取它。
現在我遇到了相反的情況-我需要創建一個C#
項目,現在可以從另一個C#
項目中使用它,但是稍后我將把主項目重寫為C ++,因此我需要從C ++訪問C#
項目。 它應該只提供幾種方法: PlaceOrder(void* pointerToStruct)
CancelOrder(void* pointerToStruct)
和一個回調delegate OrderUpdated(void* pointerToStruct)
我在尋找提示和示例。 如何創建可以在本機C ++和C#中使用的C#項目,並提供幾種方法和一個回調。
特別是我現在不應該對內存做些什么-應該在c#處寫入非托管內存並在c ++處讀取它,還是應該在c#處寫入托管內存並以某種方式讀取c ++中的托管內存...指向結構的指針我在參數處傳遞的應該指向非托管內存或托管內存等。
用C#編寫的dll的問題在於不可能創建導出表(將靜態方法標記為要導出的表):C#中有DllImportAttribute但沒有DllExportAttribute 。 不過有兩種方法:
也可以看看
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.