從C# DLL 導出函數:非託管導出與DLLExport
與VS C/C 相比,C# 缺乏對導出的顯式支援使用“extern "C" __declspec(dllexport)”語法的函數。但是,有兩種主要方法可以在C# DLL 中實現類似功能:
非託管導出
此方法允許您從C# DLL 導出函數,就像它們一樣用非託管程式碼(例如C/C )編寫。若要使用此方法,請安裝「UnmanagedExports」NuGet 套件並使用 [DllExport] 屬性修飾匯出的方法。
範例:
using UnmanagedExports; // Import the UnmanagedExports namespace [DllExport] // Export this method to unmanaged code public static int Add(int a, int b) { return a + b; }
DLLExport
DLLExport 是一個第三方函式庫,可以實作C# 函數的方式與非託管導出類似。該庫還要求在導出方法上使用 [DllExport] 屬性。
範例:
using DllExport; // Import the DllExport namespace [DllExport] // Export this method to unmanaged code public static float Multiply(float a, float b) { return a * b; }
非託管匯出和DLLExport 都可以有效地建立C#公開函數供外部非託管程式(例如C/C 應用程式或外掛程式)使用的DLL。
以上是如何將 C# 函數匯出到非託管程式碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!