Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 2093|Răspunde: 7

[Sursă] .NET 8 apelează funcții în biblioteca C++ Dynamic Link

[Copiază linkul]
Postat la 2024-12-8 18:36:17 | | | |
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ă rogRăspunde


Referință:
Autentificarea cu hyperlink este vizibilă.
Autentificarea cu hyperlink este vizibilă.





Precedent:Folosește mkcert pentru a genera un certificat de nume de domeniu auto-semnat
Următor:Descarcă compilarea codului sursă FastDeploy pentru Windows
Postat pe 2024-12-9 13:26:40 |
Învață să înveți
Postat pe 2024-12-9 16:32:11 |
Vino să vezi
 Proprietarul| Postat la 23-04-2025 10:51:21 |
Descărcare bibliotecii standard C++:Autentificarea cu hyperlink este vizibilă.
 Proprietarul| Postat la 2025-4-23 16:49:21 |
 Proprietarul| Postat pe 2025-6-17 17:19:08 |
Xiao Zhazha A Postat pe 2025-4-23 16:49
https://github.com/dotnet/ClangSharp

Executați folosind un container Docker cu următoarea comandă:

Referință:Autentificarea cu hyperlink este vizibilă.
 Proprietarul| Postat la 2025-6-18 09:43:12 |
Autentificarea cu hyperlink este vizibilă.
Autentificarea cu hyperlink este vizibilă.(Copiază Program.cs în propriul proiect și execută-l după compilare, generarea testului este foarte simplă și incompletă)

 Proprietarul| Postat la 2025-6-18 14:05:22 |
SWIG (Simplified Wrapper and Interface Generator) este un instrument open-source folosit pentru a converti codul C/C++ în cod de interfață pentru mai multe limbaje de programare de nivel înalt, suportând limbaje precum Python, Java, Ruby, C# etc., și este adesea folosit pentru dezvoltarea cross-language sau pentru îmbunătățirea performanței limbajelor de scripting.

Site oficial:Autentificarea cu hyperlink este vizibilă.
Sursă:Autentificarea cu hyperlink este vizibilă.
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com