Requisitos: Algumas bibliotecas de algoritmos são desenvolvidas em C++, e não existe uma versão em C#, como usar C# para chamar funções em C++?
Primeiro, crie um novo arquivo de cabeçalho demo.h e defina uma função de adição, cujo código é o seguinte:
Crie um novo arquivo demo.cpp com o seguinte código:
Baixe a ferramenta mingw64 em:O login do hiperlink está visível.
Extraia para a pasta D:\mingw64, adicione temporariamente a pasta mingw64/bin à variável ambiente na janela cmd e use o seguinte comando:
Chame o comando g++ para compilar o código-fonte em uma biblioteca de link dinâmico com o seguinte comando:
Como mostrado abaixo:
São gerados dois arquivos, demo.dll e demo.lib.
Crie um novo projeto de console .NET 8
Após referenciar o pacote CppSharp, o arquivo do projeto .csproj diz:
Crie um novo objeto SampleLibrary para implementar a interface ILibrary, o código é o seguinte:
por .h, . lib gera um arquivo .cs que pode ser chamado por C# a partir de uma função em C++, cujo código é o seguinte:
Como mostrado abaixo:
Tente chamar o método add dentro de demo.dll, como mostrado na imagem abaixo:
Código completo:
Código fonte para download:
Turistas, se quiserem ver o conteúdo oculto deste post, por favor Resposta
Referência:
O login do hiperlink está visível.
O login do hiperlink está visível.
|