Conocer y Aprender
Me gutaria tener contactos con gente que sepa C/C++...Ahora tengo un pregunta,,,Como creo una biblioteca (Dll) Dinamica solo para funciones y agregarla a mi projecto?
Tengo el compilador VC++ 6.0
Muchas gracias
Aeryus
Tengo el compilador VC++ 6.0
Muchas gracias
Aeryus
Para crear una dll, yo lo hago así:
1. Nuevo proyecto: Win32 dynamic-link-library.
2. Tipo de proyecto: Un dll simple.
3. Codifico todas las funciones que necesito.
4. Agrego nuevo archivo de texto con nombre <proyecto>.def y agrego lo siguiente:
LIBRARY <nombre de biblioteca>
EXPORTS
<nombre de funcion 1> PRIVATE
<nombre de funcion 2> PRIVATE
....
Este paso es necesario para que las funciones sean accesibles desde fuera de la dll. Por tanto, en la sección EXPORTS solamente se listan aquellas funciones que se desean exportar.
Hay otro método para exportar, pero ese tengo entendido que decora el nombre de las funciones, así que no lo uso. Supongo que si se hace overloading entonces el método que muestro es inapropiado, pero por lo general no hago overloading.
En cuanto a DllMain, no he aprendido todavía a hacer multithreading, así que solamente utilizo las razones DLL_PROCESS_ATTACH y DLL_PROCESS_DETACH. En el attach, inicializo variables, memoria, etc.; en el detach todo lo contrario.
Le recomiendo leer la ayuda de VC para más y mejor información.
1. Nuevo proyecto: Win32 dynamic-link-library.
2. Tipo de proyecto: Un dll simple.
3. Codifico todas las funciones que necesito.
4. Agrego nuevo archivo de texto con nombre <proyecto>.def y agrego lo siguiente:
LIBRARY <nombre de biblioteca>
EXPORTS
<nombre de funcion 1> PRIVATE
<nombre de funcion 2> PRIVATE
....
Este paso es necesario para que las funciones sean accesibles desde fuera de la dll. Por tanto, en la sección EXPORTS solamente se listan aquellas funciones que se desean exportar.
Hay otro método para exportar, pero ese tengo entendido que decora el nombre de las funciones, así que no lo uso. Supongo que si se hace overloading entonces el método que muestro es inapropiado, pero por lo general no hago overloading.
En cuanto a DllMain, no he aprendido todavía a hacer multithreading, así que solamente utilizo las razones DLL_PROCESS_ATTACH y DLL_PROCESS_DETACH. En el attach, inicializo variables, memoria, etc.; en el detach todo lo contrario.
Le recomiendo leer la ayuda de VC para más y mejor información.
