J.A. Gutierrez
2004-04-01 07:33:26 UTC
Hardwie <***@lycos.es> wrote:
: Necesito usar una DLL en un programa escrito en C, me han dicho que es
: posible que para mi problema necesite cargar la DLL de forma dinámica.
Una DLL, por definicion es dinamica, no puede ser estatica.
: Quería saber cual es la diferencia, es decir, cuando hay que cargarlas de
: forma estática y cuando de forma dinámica. Y cómo se hacen ambas cosas.
Todo lo mas puedes diferenciar entre dejar que el enlazador
en tiempo de ejecucion del sistema la cargue al ejecutar
el programa (lo que se hace al generar el ejecutable, en la
fase de enlazado) o bien que tu programa incluya codigo para
cargar explicitamente la DLL. La forma de hacer esto ultimo
depende del sistema:
POSIX:
dlopen/dlsym/dlclose
Darwin:
NSCreateObjectFileImageFromFile/NSLinkModule/
NSLookupSymbolInModule/NSAddressOfSymbol/
NSDestroyObjectFileImage/NSUnLinkModule
Windows:
LoadLibrary/GetProcAddress/FreeLibrary
: Necesito usar una DLL en un programa escrito en C, me han dicho que es
: posible que para mi problema necesite cargar la DLL de forma dinámica.
Una DLL, por definicion es dinamica, no puede ser estatica.
: Quería saber cual es la diferencia, es decir, cuando hay que cargarlas de
: forma estática y cuando de forma dinámica. Y cómo se hacen ambas cosas.
Todo lo mas puedes diferenciar entre dejar que el enlazador
en tiempo de ejecucion del sistema la cargue al ejecutar
el programa (lo que se hace al generar el ejecutable, en la
fase de enlazado) o bien que tu programa incluya codigo para
cargar explicitamente la DLL. La forma de hacer esto ultimo
depende del sistema:
POSIX:
dlopen/dlsym/dlclose
Darwin:
NSCreateObjectFileImageFromFile/NSLinkModule/
NSLookupSymbolInModule/NSAddressOfSymbol/
NSDestroyObjectFileImage/NSUnLinkModule
Windows:
LoadLibrary/GetProcAddress/FreeLibrary
--
finger ***@shiva.cps.unizar.es for PGP /
.mailcap tip of the day: / La vida es una carcel
application/ms-tnef; cat '%s' > /dev/null / con las puertas abiertas
text/x-vcard; cat '%s' > /dev/null / (A. Calamaro)
finger ***@shiva.cps.unizar.es for PGP /
.mailcap tip of the day: / La vida es una carcel
application/ms-tnef; cat '%s' > /dev/null / con las puertas abiertas
text/x-vcard; cat '%s' > /dev/null / (A. Calamaro)