Maison >développement back-end >Tutoriel C#.Net >C# appelle la DLL de la bibliothèque de liens dynamiques C
J'ai trouvé deux façons de résoudre le problème au cours du processus : l'une est une bibliothèque de dll créée par du C non géré, qui doit être appelée avec une méthode statique. Cette méthode ne peut pas être directement référencée dans la référence C#, mais doit être appelée de manière statique. D'autres blogs l'ont déjà présentée en détail. La seule chose qui doit être ajoutée est que le fichier C# doit être :
using System.Runtime.InteropServices;
La méthode [DllImport] ne peut être appelée qu'après cela.
Une autre méthode consiste à utiliser le CLR directement pour générer une bibliothèque de dll C gérée.
Processus de création
La routine est la suivante
C dll :
// CPPlibdemo.h #pragma once using namespace System; namespace CPPlibdemo { public ref class Class1 { // TODO: Add your methods for this class here. public: String ^getgreating(){ return "hello world"; } }; }
Langage C# :
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using CPPlibdemo; namespace ConsoleApplication5 { class Program { static void Main(string[] args) { Class1 clrdemo = new Class1(); Console.Write(clrdemo.getgreating()); Console.ReadLine(); } } }
Ce qui précède est le contenu de la dll de la bibliothèque de liens dynamiques C# appelant C. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !