2010-05-17 20 views

Respuesta

7

Cuando desee utilizar bibliotecas nativas de C#, no necesitará un archivo .lib. La forma en que esto se maneja en .NET es mediante el uso de la invocación de plataforma (P/Invoke). Le sugiero que siga el tutorial en MSDN, que le ayudará a empezar:

Platform Invoke Tutorial

Si desea generar un envoltorio es posible que desee echar un vistazo a la P/Invoke Interop Assistant en CodePlex. Tenga en cuenta que esta herramienta funciona con el código C/C++ original. No es posible usar un archivo .dll para crear un contenedor porque los archivos DLL nativos no almacenan la firma de las funciones exportadas (como se describe en this thread) y un archivo lib almacenará la firma en un compilador de manera específica.

+0

y puede archivo .lib al menos ayudarme a crear un wraper? – Rella

+1

Si todo lo que tiene es un archivo .lib y .h, puede crear un contenedor dll para lib, exportando las funciones que necesita. –

+0

@Stephen Cleary: Como se trata de usar código nativo de C#, no se necesitará el archivo lib. Todo lo que necesitará es la firma del método y el nombre del dll nativo que contiene el método. –

Cuestiones relacionadas