C/Visual C - Preguntita acerca de DLL´s

 
Vista:

Preguntita acerca de DLL´s

Publicado por Matias Gabriel Ventura (1 intervención) el 06/01/2005 00:36:09
Que tal?. Tengo una pequeña pregunta acerca de usar DLL´s en C y C++. La cuestión es que me bajé la DLL para utilizar sqlite en mi programa pero no se como hacer para empezar a usarla, es decir, que es lo que tengo que hacer para incluirla en mi proyecto. Aclaro que estoy usando Dev-C++, por si acaso. Muchas gracias por su tiempo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Preguntita acerca de DLL´s

Publicado por fernando.gomez (1603 intervenciones) el 06/01/2005 19:02:30
Bueno, SQLite está hecho en C, y no provée una interfaz para exportar funciones directamente. Visual C++ soporta las palabras reservadas __declespec(dllexport) y __declspec(dllimport) para exportar e importar desde una DLL. Esto también lo soporta el DevC.

Sin embargo, SQLite (yo tengo la versión 3.0). En cambio, SQLite expone una interfaz C estándar, es decir, un archivo de definiciones DEF, donde están listadas todas las funciones que exporta. Para ello, tienes que emplear el API de Windows. Primero, manda llamar LoadLibrary que recibe como parámetro el nombre de tu dll (en este caso, me parece que es sqlite.dll) y regresa un manejador a un módulo (HMODULE) que debes conservar.

Luego, requieres crearte un "delegado" o puntero a una función, cuya firma debe coincidir con la firma del método que quieres llamar. Si quieres llamar una función, digamos

void MiFuncion(LPTSTR szCadena);

deberías hacer algo parecido:

typedef void (*MiFuncion)(LPTSTR);

Luego, declaras una variable de tipo MiFuncion, que será el puntero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar