Gracias Rui Pinto (Rapinto)
COBOL Foro
Foro dedicado a COBOL, a la Programación y a la Informática.
  COBOL Foro > Programación e Informática > Controles y Componentes (DLL/OCX)
Controles y Componentes (DLL/OCX) Componentes, bibliotecas y Frameworks.
Comunicados
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Aporte] CALL de cualquier DLL sin *.LIB ni "LoadLibrary" Kuk Cocina PowerCOBOL 20 29 de julio de 2017 22:33
[Componente] Excel y diferentes sheets Breew PowerCOBOL (ActiveX, v4 - v11) 3 8 de noviembre de 2015 19:39
[Componente] AdvApi32.lib - no funciona Kuk PowerCOBOL V3L10 (Win32) 2 30 de julio de 2015 08:27
Respuesta
 
Herramientas

  #1
Antiguo 22 de julio de 2016, 08:55
IDENTIFICATION DIVISION
Kuk
 Administrador
ENVIRONMENT DIVISION
Avatar de Kuk
DATA DIVISION
diciembre 2014
Madrid
37 años
20.05.2022 11:26
PROCEDURE DIVISION
Posts: 1.990
Enviado: 687
Recibido: 850
Soluciones: 100
Reputación: 10
Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road
Exclamation Diferentes tipos de librerías *.LIB que existen

Amigos, en este post voy a aclarar una cosa que crea confusión a veces.
Todos hemos utilizado las famosas librerías *.LIB pero no todo el mundo sabe que hay 2 tipos de LIB con la misma extensión:
  1. Librerías estáticas (Static libraries)
  2. Librerías de importación (Import libraries)

La diferencia consiste en:

Las primeras, las Static, vienen a ser realmente librerías contenedores que incluyen las funciones en formato de código objeto. Así, incluyéndolas en nuestro proyecto, al hacer LINK quedan incrustadas en nuestro ejecutable y no tendremos la necesidad de una DLL.

Las segundas, aunque tienen la misma extensión, contienen solamente el IAT (import address table) y no contienen las funciones. Es decir, en la LIB de este tipo, sólo están definidas las direcciones respectivas de las funciones que residen en una DLL. Con lo cual, al incluir una LIB de importación en nuestro proyecto y hacer LINK, el Linker encuentra las direcciones de las funciones llamadas que apuntan a la DLL.


¿Cómo podemos saber de qué LIB se trata cada vez? Por lo pronto el tamaño, evidentemente para las Static es más grande y para las Import es pequeño. Luego, existe un comando (en CMD):

Código:
lib /list MyLib.lib
Si dicho comando muestra en la lista archivos *.OBJ (código objeto), quiere decir que se trata de una Static Library.


Espero que os sirva.



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk no ha iniciado sesión   Responder Con Cita
Ha dicho Gracias : 1
Hrmcobol (22 de julio de 2016)
Respuesta

Tags
*.lib , iat , import , lib , library , static


Usuarios activos actualmente viendo este tema: 1 (0 miembros y 1 visitantes)
 
Herramientas

Derechos de Publicación
No puedes publicar nuevos temas
No puedes publicar posts/responder
No puedes adjuntar archivos
No puedes editar tus posts

BB code is habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado



La franja horaria es GMT +1. Ahora son las 13:49.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2022, Jelsoft Enterprises Ltd.