Me asalte una duda. Desde siempre estoy acostumbrado a crear y usar librerías de enlace estático (librerías con extensión.lib) en asm y c, así como el uso de las dll. Antaño las creaba con las órdenes en línea de comandos del Link y la lista de módulos objeto .obj
Delphi puede creas archivos obj desde un proyecto para crear una dll, pero me temo que no llevan tódo el código objeto compilado.
Me pregunto si delphi puede crear un proyecto para hacer un archivo.lib como si es capaz de hacerlo Builder C++.
¿Lo habéis realizado alguna vez?
Static Link Library en delphi
Comenzado por
escafandra
, mar 24 2010 02:35
5 respuestas en este tema
#1
Escrito 24 marzo 2010 - 02:35
#3
Escrito 24 marzo 2010 - 05:29
He estado buscando y no encontré respuesta. De todas formas, me parece extraño pues las librerías estáticas han estado presentes siempre y han sido una buena forma de almacenar código compilado.
Saludos.
Saludos.
#5
Escrito 09 agosto 2011 - 09:39
me parece que si se puede.
c++ builder puede generar archivos lib a partir de archivos objeto .obj
ejemplo
en vez de generar una .dll se genera un .lib
y c++ builder lo puede enlazar estaticamente como parte del programa final
y no necesitar de dlls
ejemplo zlib.lib para no usar la dll
explicao el enlace estatico hay de dos formas
la primera solo el archivo .lib contiene las direcciones de memoria del proceso
y es oslo una tabla de referencia.
de nuevo el ejemplo es zlib
zlib puede compilarse dando un archivo .lib de solo referencia y forzozamente necesitar de zlib.dll
y puede generarse un archvio .lib que va a tener integrada toda la funcionalidad de la dll. y
por eso no requiere de la dll.
ahora bien,,
lo que no se es como definir las funciones y procedimientos
dentro de un archivo .lib
para poder usarlo
ya sea como solo una tabla de referencia y necesitar forzosamente la dll
o
que no se necesite la dll por que ya se tiene.
comtooff y demas utilerias solo trabajan con el primer caso
de que el archivo .lib sea solo una tabla de referencia y no tenga la funcionalidad completa
apenas voy a probar si me equivoco y si un archivo .lib con toda la funcionalidad completa
puede ser convertido si se creeo en visual C a formato de c++ builder
ahora bien. en c++ builder si existe el proyecto o templa en file -> New- > other
static link library
en delphi recuero habelro visto solo que como le he movido un monton al ide y su configuracion en el registro
creo que se perdio. dejen lo intento instalar todo de nuevo..
ahora el problea mayor es como usar una libreria estatica hecha en c++ builder en delphi..
como llamarla como hacer en c++ builder
como agregarla al proyecto delphi.
c++ builder puede generar archivos lib a partir de archivos objeto .obj
ejemplo
en vez de generar una .dll se genera un .lib
y c++ builder lo puede enlazar estaticamente como parte del programa final
y no necesitar de dlls
ejemplo zlib.lib para no usar la dll
explicao el enlace estatico hay de dos formas
la primera solo el archivo .lib contiene las direcciones de memoria del proceso
y es oslo una tabla de referencia.
de nuevo el ejemplo es zlib
zlib puede compilarse dando un archivo .lib de solo referencia y forzozamente necesitar de zlib.dll
y puede generarse un archvio .lib que va a tener integrada toda la funcionalidad de la dll. y
por eso no requiere de la dll.
ahora bien,,
lo que no se es como definir las funciones y procedimientos
dentro de un archivo .lib
para poder usarlo
ya sea como solo una tabla de referencia y necesitar forzosamente la dll
o
que no se necesite la dll por que ya se tiene.
comtooff y demas utilerias solo trabajan con el primer caso
de que el archivo .lib sea solo una tabla de referencia y no tenga la funcionalidad completa
apenas voy a probar si me equivoco y si un archivo .lib con toda la funcionalidad completa
puede ser convertido si se creeo en visual C a formato de c++ builder
ahora bien. en c++ builder si existe el proyecto o templa en file -> New- > other
static link library
en delphi recuero habelro visto solo que como le he movido un monton al ide y su configuracion en el registro
creo que se perdio. dejen lo intento instalar todo de nuevo..
ahora el problea mayor es como usar una libreria estatica hecha en c++ builder en delphi..
como llamarla como hacer en c++ builder
como agregarla al proyecto delphi.
#6
Escrito 10 agosto 2011 - 08:57
Desde siempre Builder ha trabajado con librerías de enlace estático, Tanto para crearlas como para usarlas independientemente de dll. Para ello basta con incluirlas en el proyecto y conocer los archivos de cabecera necesarios.
Si te interesa profundizar un poco mas en los tipos de librerías de enlace estático lee este hilo, y en especial esto.
Saludos.
Si te interesa profundizar un poco mas en los tipos de librerías de enlace estático lee este hilo, y en especial esto.
Saludos.