2010-11-18 15 views
9

come un semplice esempio, ho una funzione C che riceve un int, lo incrementa e restituisce il valore incrementato. Dall'altro lato inserisco il numero di input nella casella di testo in C#. come posso chiamare la funzione C per elaborare il numero e restituirlo da C#? Grazie in anticipochiamando la funzione c da C#

risposta

12

Stai cercando P/Invoke.

Fate avrà bisogno di un riferimento a System.Runtime.InteropServices e poi effettuare le seguenti operazioni, se la DLL C contiene una funzione chiamata increase_int:

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

e utilizzarlo dal codice facendo

int newValue = increase_int(oldValue); 
+0

perfetto. .. grazie ... –

+0

ciao, non riesco a eseguire il debug del programma, perché il controllo non entra nella funzione chiamata quando passo sopra (F11) ...? –

+0

Non è possibile eseguire il debug di una DLL C utilizzando i meccanismi standard di debug di .Net. – Residuum

Problemi correlati