Ir al contenido


Foto

Static Link Library en delphi


  • Por favor identifícate para responder
5 respuestas en este tema

#1 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.107 mensajes
  • LocationMadrid - España

Escrito 24 marzo 2010 - 02:35

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?
  • 0

#2 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 24 marzo 2010 - 05:24

Aquí hablan algo sobre eso, aparentemente Delphi no lo hace.
  • 0

#3 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.107 mensajes
  • LocationMadrid - España

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.
  • 0

#4 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.107 mensajes
  • LocationMadrid - España

Escrito 08 abril 2010 - 11:44

Aunque no es la respuesta esperada, quizás ésto pueda ayudar.  *-)

Saludos.
  • 0

#5 angelo2007

angelo2007

    Advanced Member

  • Miembros
  • PipPipPip
  • 57 mensajes

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.



  • 0

#6 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.107 mensajes
  • LocationMadrid - España

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.
  • 0




IP.Board spam blocked by CleanTalk.