Exportieren von Funktionen aus einer C#-DLL: Unmanaged Exports vs. DLLExport
Im Gegensatz zu VS C/C fehlt in C# die explizite Unterstützung für den Export Funktionen mit der Syntax „extern „C“ __declspec(dllexport)“. Es gibt jedoch zwei Hauptansätze, um eine ähnliche Funktionalität in C#-DLLs zu erreichen:
Unverwaltete Exporte
Mit diesem Ansatz können Sie Funktionen aus einer C#-DLL so exportieren, als ob sie es wären wurden in nicht verwaltetem Code geschrieben (z. B. C/C). Um diese Methode zu verwenden, installieren Sie das NuGet-Paket „UnmanagedExports“ und ergänzen Sie Ihre exportierten Methoden mit dem Attribut [DllExport].
Beispiel:
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 ist eine Drittanbieterbibliothek, die den Export von ermöglicht C# funktioniert auf ähnliche Weise wie Unmanaged Exports. Diese Bibliothek erfordert außerdem die Verwendung des Attributs [DllExport] für exportierte Methoden.
Beispiel:
using DllExport; // Import the DllExport namespace [DllExport] // Export this method to unmanaged code public static float Multiply(float a, float b) { return a * b; }
Sowohl nicht verwaltete Exporte als auch DLLExport ermöglichen effektiv die Erstellung von C# DLLs, die Funktionen für die Nutzung durch externe, nicht verwaltete Programme wie C/C-Anwendungen oder Plugins verfügbar machen.
Das obige ist der detaillierte Inhalt vonWie kann ich C#-Funktionen in nicht verwalteten Code exportieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!