Mengeksport Fungsi daripada C# DLL: Unmanaged Exports vs. DLLExport
Berbeza dengan VS C/C , C# tidak mempunyai sokongan yang jelas untuk mengeksport fungsi menggunakan sintaks "C" __declspec(dllexport)" luaran. Walau bagaimanapun, terdapat dua pendekatan utama untuk mencapai kefungsian yang serupa dalam C# DLL:
Eksport Tidak Terurus
Pendekatan ini membolehkan anda mengeksport fungsi daripada C# DLL seolah-olah ia telah ditulis dalam kod tidak terurus (cth., C/C ). Untuk menggunakan kaedah ini, pasang pakej NuGet "UnmanagedExports" dan hiaskan kaedah anda yang dieksport dengan atribut [DllExport].
Contoh:
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 ialah perpustakaan pihak ketiga yang membolehkan eksport fungsi C# dengan cara yang sama seperti Eksport Tidak Terurus. Pustaka ini juga memerlukan penggunaan atribut [DllExport] pada kaedah yang dieksport.
Contoh:
using DllExport; // Import the DllExport namespace [DllExport] // Export this method to unmanaged code public static float Multiply(float a, float b) { return a * b; }
Kedua-dua Eksport Tidak Terurus dan DLLExport dengan berkesan membolehkan penciptaan C# DLL yang mendedahkan fungsi untuk penggunaan oleh program luar tidak terurus, seperti aplikasi C/C atau pemalam.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeksport Fungsi C# ke Kod Tidak Terurus?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!