ho una dll, costruito con MinGW
uno dei file di intestazione contiene questo:utilizzando la funzione C in C#
extern "C" {
int get_mac_address(char * mac); //the function returns a mac address in the char * mac
}
Io uso questa dll in un altro C++ app, costruito utilizzando Visual C++ (2008SP1), non è riuscito, ma c pianura ++ (semplicemente include l'intestazione, e chiamare la funzione)
ma ora devo usarlo in un'applicazione C#
il problema è che non riesco a capire come esattamente (sono nuovo nella programmazione .net)
questo è quello che ho provato
public class Hwdinfo {
[DllImport("mydll.dll")]
public static extern void get_mac_address(string s);
}
quando chiamo la funzione, non succede nulla
(il file mydll.dll si trova nella cartella bin del C# app, e dà mE Nessun errore o avviso di sorta)
Cosa si aspetta che accada? Non stai restituendo nulla. Se si desidera ripristinare il parametro, potrebbe essere necessario passarlo come stringa di riferimento o stringa esterna. – Stephan
Perché questo tag è C++? –
sry, ho modificato in C –