2010-11-18 28 views
9

como ejemplo simple, tengo una función C que recibe un int, la incrementa y devuelve un valor incrementado. En el otro lado, ingreso el número de entrada al cuadro de texto en C#. ¿cómo puedo llamar a la función C para procesar el número y devolverlo desde C#? Gracias de antemanollamando a la función c desde C#

Respuesta

12

Está buscando P/Invoke.

Haces se necesita una referencia a System.Runtime.InteropServices y luego hacer lo siguiente, si el archivo DLL C contiene una función llamada increase_int:

[DllImport("mylib.dll")] 
private static extern int increase_int(int in_value); 

y usarlo a partir del código haciendo

int newValue = increase_int(oldValue); 
+0

perfecto. .. gracias yo ... –

+0

hola, no puedo depurar el programa, ¿por qué el control no entra en la función llamada al paso (F11) ...? –

+0

No puede depurar un dll C utilizando los mecanismos de depuración estándar de .Net. – Residuum

Cuestiones relacionadas