Cerințe: Unele biblioteci de algoritmi sunt dezvoltate în C++ și nu există o versiune în C#, cum se folosește C# pentru a chema funcții în C++?
Mai întâi, creează un nou fișier de antet demo.h și definește o funcție de adăugare, codul fiind următorul:
Creează un nou fișier demo.cpp cu următorul cod:
Descarcă instrumentul mingw64 la:Autentificarea cu hyperlink este vizibilă.
Extrage în folderul D:\mingw64, adaugă temporar folderul mingw64/bin la variabila de mediu din fereastra cmd și folosește următoarea comandă:
Cheamă comanda g++ pentru a compila codul sursă într-o bibliotecă de legătură dinamică cu următoarea comandă:
Așa cum se arată mai jos:
Sunt generate două fișiere, demo.dll și demo.lib.
Creează un nou proiect de consolă .NET 8
După consultarea pachetului CppSharp, fișierul proiectului .csproj spune:
Creează un nou obiect SampleLibrary pentru a implementa interfața ILibrary, codul fiind următorul:
de .h, . lib generează un fișier .cs care poate fi apelat de C# dintr-o funcție în C++, codul fiind următorul:
Așa cum se arată mai jos:
Încearcă să apelezi metoda add în interiorul demo.dll, așa cum se arată în imaginea de mai jos:
Cod complet:
Descărcare cod sursă:
Turiști, dacă vreți să vedeți conținutul ascuns al acestei postări, vă rog Răspunde
Referință:
Autentificarea cu hyperlink este vizibilă.
Autentificarea cu hyperlink este vizibilă.
|