2010-11-18 8 views
9

en tant qu'exemple simple, j'ai une fonction C qui reçoit un int, l'incrémente et retourne la valeur incrémentée. Sur l'autre côté, j'entre le numéro d'entrée dans la zone de texte en C#. comment puis-je appeler la fonction C pour traiter le numéro et le renvoyer de C#? Merci d'avanceappelant la fonction c à partir de C#

Répondre

12

Vous recherchez P/Invoke.

Vous ne aurez besoin d'une référence à System.Runtime.InteropServices puis procédez comme suit, si votre DLL C contient une fonction appelée increase_int:

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

et l'utiliser à partir de votre code faisant

int newValue = increase_int(oldValue); 
+0

parfait. ..thank yo .. –

+0

Salut, je ne peux pas déboguer le programme, pourquoi le contrôle ne va pas dans la fonction appelée lors de l'étape (F11) ...? –

+0

Vous ne pouvez pas déboguer un dll C en utilisant les mécanismes de débogage standard de .Net. – Residuum

Questions connexes