Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 2093|Svar: 7

[Källa] .NET 8 anropar funktioner i C++ Dynamic Link-biblioteket

[Kopiera länk]
Publicerad den 2024-12-8 18:36:17 | | | |
Krav: Vissa algoritmbibliotek utvecklas i C++, och det finns ingen C#-version, hur använder man C# för att anropa funktioner i C++?

Skapa först en ny demo.h-headerfil och definiera en funktion för att lägga till tillägg, koden är följande:

Skapa en ny demo.cpp-fil med följande kod:

Ladda ner verktyget mingw64 på:Inloggningen med hyperlänken är synlig.

Packa ut till D:\mingw64-mappen, lägg tillfälligt till mingw64/bin-mappen i miljövariabeln i cmd-fönstret och använd följande kommando:

Anropa kommandot g++ för att kompilera källkoden till ett dynamiskt länkbibliotek med följande kommando:

Som visas nedan:



Två filer genereras, demo.dll och demo.lib.

Skapa ett nytt .NET 8-konsolprojekt

Efter att ha refererat till CppSharp-paketet lyder .csproj-projektfilen:

Skapa ett nytt SampleLibrary-objekt för att implementera ILibrary-gränssnittet, koden är följande:

med .h, . lib-filen genererar en .cs-fil som kan anropas av C# från en funktion i C++, koden är som följer:

Som visas nedan:



Försök att anropa add-metoden inuti demo.dll, som visas på bilden nedan:



Fullständig kod:


Källkodsnedladdning:

Turister, om ni vill se det dolda innehållet i detta inlägg, snällaSvar


Hänvisning:
Inloggningen med hyperlänken är synlig.
Inloggningen med hyperlänken är synlig.





Föregående:Använd mkcert för att generera ett självsignerat domännamnscertifikat
Nästa:Ladda ner FastDeploy-källkodskompileringen för Windows
Publicerad den 2024-12-9 13:26:40 |
Lär dig att lära dig
Publicerad den 2024-12-9 16:32:11 |
Kom och titta
 Hyresvärd| Publicerad den 2025-4-23 10:51:21 |
C++ Standardbiblioteksnedladdning:Inloggningen med hyperlänken är synlig.
 Hyresvärd| Publicerad den 2025-4-23 16:49:21 |
 Hyresvärd| Publicerad den 2025-6-17 17:19:08 |
Xiao Zhazha Publicerad den 23-4-4-2025 16:49
https://github.com/dotnet/ClangSharp

Kör med en Docker-container med följande kommando:

Hänvisning:Inloggningen med hyperlänken är synlig.
 Hyresvärd| Publicerad den 2025-6-18 09:43:12 |
Inloggningen med hyperlänken är synlig.
Inloggningen med hyperlänken är synlig.(Kopiera Program.cs till ditt eget projekt och kör det efter kompilering, testgenereringen är mycket enkel och ofullständig)

 Hyresvärd| Publicerad den 2025-6-18 14:05:22 |
SWIG (Simplified Wrapper and Interface Generator) är ett öppen källkodsverktyg som används för att omvandla C/C++-kod till gränssnittskod för flera högnivåprogrammeringsspråk, som stödjer språk som Python, Java, Ruby, C# med flera, och används ofta för utveckling av tvärspråkiga språk eller för att förbättra prestandan hos skriptspråk.

Officiell webbplats:Inloggningen med hyperlänken är synlig.
Källa:Inloggningen med hyperlänken är synlig.
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com