Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 2093|Respuesta: 7

[Fuente] .NET 8 llama a funciones en la biblioteca Dynamic Link de C++

[Copiar enlace]
Publicado el 8-12-2024 18:36:17 | | | |
Requisitos: Algunas librerías de algoritmos se desarrollan en C++ y no existe una versión en C#, ¿cómo usar C# para llamar funciones en C++?

Primero, crea un nuevo archivo de encabezado demo.h y define una función de suma de súmenes, cuyo código es el siguiente:

Crea un nuevo archivo demo.cpp con el siguiente código:

Descarga la herramienta mingw64 en:El inicio de sesión del hipervínculo es visible.

Extrae en la carpeta D:\mingw64, añade temporalmente la carpeta mingw64/bin a la variable de entorno en la ventana cmd y usa el siguiente comando:

Llama al comando g++ para compilar el código fuente en una biblioteca de enlace dinámico con el siguiente comando:

Como se muestra a continuación:



Se generan dos archivos, demo.dll y demo.lib.

Crear un nuevo proyecto de consola en .NET 8

Tras referenciar el paquete CppSharp, el archivo del proyecto .csproj dice:

Crea un nuevo objeto SampleLibrary para implementar la interfaz ILibrary, el código es el siguiente:

por .h, . lib genera un archivo .cs que puede ser llamado por C# a partir de una función en C++, el código es el siguiente:

Como se muestra a continuación:



Prueba a llamar al método de adición dentro de demo.dll, como se muestra en la imagen de abajo:



Código completo:


Descarga del código fuente:

Turistas, si queréis ver el contenido oculto de esta publicación, por favorRespuesta


Referencia:
El inicio de sesión del hipervínculo es visible.
El inicio de sesión del hipervínculo es visible.





Anterior:Utiliza mkcert para generar un certificado de nombre de dominio autofirmado
Próximo:Descarga la compilación del código fuente de FastDeploy para Windows
Publicado el 9-12-2024 13:26:40 |
Aprende a aprender
Publicado el 9-12-2024 16:32:11 |
Ven a ver.
 Propietario| Publicado el 23-4-2025 10:51:21 |
Descarga de la biblioteca estándar C++:El inicio de sesión del hipervínculo es visible.
 Propietario| Publicado el 23-4-2025 16:49:21 |
 Propietario| Publicado el 17-6-2025 17:19:08 |
Xiao Zhazha Publicado el 23-4-2025 16:49
https://github.com/dotnet/ClangSharp

Ejecuta usando un contenedor Docker con el siguiente comando:

Referencia:El inicio de sesión del hipervínculo es visible.
 Propietario| Publicado el 18-6-2025 09:43:12 |
El inicio de sesión del hipervínculo es visible.
El inicio de sesión del hipervínculo es visible.(Copia Program.cs a tu propio proyecto y ejecútalo tras la compilación, la generación de pruebas es muy simple e incompleta)

 Propietario| Publicado el 18-6-2025 14:05:22 |
SWIG (Simplified Wrapper and Interface Generator) es una herramienta de código abierto utilizada para convertir código C/C++ en código de interfaz para múltiples lenguajes de programación de alto nivel, que soporta lenguajes como Python, Java, Ruby, C#, etc., y se utiliza frecuentemente para el desarrollo multilenguaje o para mejorar el rendimiento de lenguajes de scripting.

Página web oficial:El inicio de sesión del hipervínculo es visible.
Fuente:El inicio de sesión del hipervínculo es visible.
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com