Vereisten: Sommige algoritmebibliotheken zijn ontwikkeld in C++, en er is geen C#-versie, hoe gebruik je C# om functies in C++ aan te roepen?
Maak eerst een nieuw demo.h-headerbestand aan en definieer een toevoegingsfunctie; de code is als volgt:
Maak een nieuw demo.cpp-bestand aan met de volgende code:
Download de mingw64-tool op:De hyperlink-login is zichtbaar.
Pak uit naar de D:\mingw64-map, voeg tijdelijk de mingw64/bin-map toe aan de omgevingsvariabele in het cmd-venster, en gebruik het volgende commando:
Roep het g++-commando aan om de broncode te compileren in een dynamische linkbibliotheek met het volgende commando:
Zoals hieronder getoond:
Er worden twee bestanden gegenereerd, demo.dll en demo.lib.
Maak een nieuw .NET 8 consoleproject aan
Na het refereren naar het CppSharp-pakket leest het .csproj-projectbestand als volgt:
Maak een nieuw SampleLibrary-object aan om de ILibrary-interface te implementeren, de code is als volgt:
door .h, . lib file genereert een .cs bestand dat door C# kan worden aangeroepen vanuit een functie in C++, de code is als volgt:
Zoals hieronder getoond:
Probeer de add-methode binnen demo.dll aan te roepen, zoals te zien is in de onderstaande afbeelding:
Volledige code:
Broncode downloaden:
Toeristen, als jullie de verborgen inhoud van dit bericht willen zien, alsjeblieft Antwoord
Referentie:
De hyperlink-login is zichtbaar.
De hyperlink-login is zichtbaar.
|