Maison >développement back-end >C++ >Comment puis-je exporter des fonctions C# vers du code non géré ?
Exportation de fonctions à partir d'une DLL C# : exportations non gérées vs DLLExport
Contrairement à VS C/C, C# ne dispose pas d'un support explicite pour l'exportation fonctions utilisant la syntaxe "extern "C" __declspec(dllexport)". Cependant, il existe deux approches principales pour obtenir une fonctionnalité similaire dans les DLL C# :
Exportations non gérées
Cette approche vous permet d'exporter des fonctions à partir d'une DLL C# comme si elles ont été écrits en code non géré (par exemple, C/C ). Pour utiliser cette méthode, installez le package NuGet « UnmanagedExports » et décorez vos méthodes exportées avec l'attribut [DllExport].
Exemple :
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 est une bibliothèque tierce qui permet l'exportation de C# fonctionne de la même manière que les exportations non gérées. Cette bibliothèque nécessite également l'utilisation de l'attribut [DllExport] sur les méthodes exportées.
Exemple :
using DllExport; // Import the DllExport namespace [DllExport] // Export this method to unmanaged code public static float Multiply(float a, float b) { return a * b; }
Les exportations non gérées et DLLExport permettent efficacement la création de C#. DLL qui exposent des fonctions destinées à être consommées par des programmes externes non gérés, tels que des applications ou des plugins C/C.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!