Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 2093|Resposta: 7

[Fonte] .NET 8 chama funções na biblioteca C++ Dynamic Link

[Copiar link]
Postado em 8-12-2024 18:36:17 | | | |
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 favorResposta


Referência:
O login do hiperlink está visível.
O login do hiperlink está visível.





Anterior:Use o mkcert para gerar um certificado de nome de domínio autoassinado
Próximo:Baixe a compilação do código-fonte FastDeploy para Windows
Postado em 2024-12-9 13:26:40 |
Aprenda a aprender
Postado em 2024-12-9 16:32:11 |
Venha assistir
 Senhorio| Postado em 23-04-2025 às 10:51:21 |
Download da Biblioteca Padrão C++:O login do hiperlink está visível.
 Senhorio| Postado em 23-04-2025 às 16:49:21 |
 Senhorio| Postado em 17-06-2025 às 17:19:08 |
Xiao Zhazha Postado em 23-04-2025 16:49
https://github.com/dotnet/ClangSharp

Execute usando um contêiner Docker com o seguinte comando:

Referência:O login do hiperlink está visível.
 Senhorio| Postado em 2025-6-18 09:43:12 |
O login do hiperlink está visível.
O login do hiperlink está visível.(Copie Program.cs para seu próprio projeto e execute após a compilação, a geração do teste é muito simples e incompleta)

 Senhorio| Postado em 2025-6-18 14:05:22 |
SWIG (Simplified Wrapper and Interface Generator) é uma ferramenta de código aberto usada para converter código C/C++ em código de interface para múltiplas linguagens de programação de alto nível, suportando linguagens como Python, Java, Ruby, C#, etc., e é frequentemente usada para desenvolvimento multilinguagem ou para melhorar o desempenho de linguagens de script.

Site Oficial:O login do hiperlink está visível.
Fonte:O login do hiperlink está visível.
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com