importar funciones de C++ a C#

Moderador: raul338

C#, tambien llamado C Sharp

importar funciones de C++ a C#

Notapor mariagle » Mar Sep 23, 2008 6:11 am

Hola a todos, Me ha surgido un problemilla en un proyecto que estoy realizando y si alguien me pudiese ayudar se lo agradecería.

He creado una librería dll con un par de funciones todo ello en C++ que voy a utilizar más tarde en un proyecto C#.
En el archivo .h las he declarado así.

_declspec(dllexport) void _cdecl iniciar();
_declspec(dllexport) void _cdecl parar();

En el archivo C# he incluido
using System.Runtime.InteropServices;

He agregado la referencia a la librería dll, y las funciones las he declarado así:
[ DllImport("rec.dll")]
public static extern void iniciar();
[DllImport("rec.dll")]
public static extern void parar();

Para usarlas posteriormente como funciones normales.

El proyecto compila sin problemas pero a la hora de la ejecución cuando se presiona el botón que activará las funciones se produce una excepción con el siguiente mensaje:
No se puede encontrar el punto de entrada denominado "iniciar" en el archivo dll "rec.dll"


¿Alguien tiene alguna idea de cual puede ser el fallo?

Muchas gracias
mariagle
Novato
Novato
 
Mensajes: 4
Registrado: Mar Sep 23, 2008 6:01 am


Re: importar funciones de C++ a C#

Notapor ivancp » Mar Sep 23, 2008 10:35 am

En el proyecto DLL tienes que agregar un archivo .def con el siguiente contenido (seguramente el archivo ya existe solo buscalo):

Código: Seleccionar todo
  1. LIBRARY   [NOMBRE DE TU PROYECTO]

  2. EXPORTS

  3.    Iniciar @1

  4.    Parar @2



El simbolo de arroba indica el punto de entrada donde estará la función, en algunas versiones de visual c++ no es necesario.

Mas informacion en:
http://msdn.microsoft.com/en-us/library/d91k01sh(VS.80).aspx
Imagen @latindev | Mi Blog
Por favor lee las reglas del foro
Avatar de Usuario
ivancp
Colaborador
Colaborador
 
Mensajes: 680
Registrado: Jue Sep 06, 2007 12:58 pm


Re: importar funciones de C++ a C#

Notapor mariagle » Mié Sep 24, 2008 3:55 am

Muchas gracias!! me ha sido de gran ayuda
mariagle
Novato
Novato
 
Mensajes: 4
Registrado: Mar Sep 23, 2008 6:01 am


    

Volver a C#

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados

cron