[英]Exporting functions from a C# class library
如何導出在C#類庫中定義的函數,同時允許它們導入到非托管C ++應用程序/ DLL並從中調用?
嚴格來說,你不能像在經典的.dll中那樣導出函數,因為.NET .dll根本就不是.dll。 您唯一的三個選擇是:
您的C ++應用程序必須從托管CLR開始。 .NET DLL沒有任何特殊要求。
你不會。 不支持。 您幾乎只能從庫C#類中導出COM對象。
您還可以為C#庫創建一個C ++包裝器 - 一個簡單的Managed C ++ DLL,它可以導入.NET方法並以原生方式導出它們。 這會添加一個額外的圖層,但如果必須具有C#庫,則可能會有用。
另一種選擇是調整已編譯的程序集以導出函數。 AC#編譯器不能這樣做,但需要稍微更改MSIL代碼才能完成任務。 看看這篇文章 - 有關於這些東西是如何工作的一些鏈接,以及一個自動化它的工具(雖然我自己沒有嘗試過)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.