2012-02-01 22 views

Respuesta

13

Bibliotecas C compilados para Windows puede ser llamado desde C# usando Platform Invoke.

De MSDN, la sintaxis de hacer una llamada a la función C es el siguiente:

[DllImport("Kernel32.dll", SetLastError=true)] 
static extern Boolean Beep(UInt32 frequency, UInt32 duration); 

Lo anterior llama a la función Bip en Kernel32.dll, pasando en la frecuencia y duración argumentos. Es posible realizar llamadas más complejas pasando estructuras y punteros a matrices, valores devueltos, etc. ...

Deberá asegurarse de que las funciones C disponibles en la biblioteca C sean exported appropriately, p. la función de pitido probablemente se declare así:

#define DllExport __declspec(dllexport) 
DllExport bool Beep(unsigned int frequency, unsigned int duration) 
{ 
    // C Body of Beep function 
} 
Cuestiones relacionadas