首頁 > 後端開發 > C++ > 如何將 C# 函數匯出到非託管程式碼?

如何將 C# 函數匯出到非託管程式碼?

Linda Hamilton
發布: 2024-12-30 11:38:09
原創
852 人瀏覽過

How Can I Export C# Functions to Unmanaged Code?

從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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板