Skip to main content.
Programacion
Ensayos de programación


Es un archivo cuyo código permite ser utilizado por otros programas con la finalidad de reutilizar código.

Son de dos tipos:

Estática.- Se enlaza con el archivo intermedio (en C++ es archivo .obj) en un solo archivo.
Dináminas.- Se enlaza con el programa en tiempo de compilación.

Las ventajas de las librerías:

Estática : Enlace en tiempo de compilación, por tanto se gana en eficiencia en la ejecución del programa que la utiliza.
Dinámica: No se duplica código. En memoria Ram existe una copia de la librería. El mantenimiento es sencillo.

Las desventajas de las librerías:

Estática: Se duplica código. El mantenimiento es díficil.
Dinámica: Enlace en tiempo de ejecución, con pérdida de eficiencia en la ejecución del programa que la utiliza.

Características de las líbrerias:

Poseen una tabla de importación y de exportación.
En la memoría Ram el S.O. guarda el programa que la llama y la librería en dos secciones de la memoría. Sabe donde empieza la librería y sólo hace uso de un proceso especial para llamar a cualquier función de la librería.

Ejemplo:

Digamos que el programa que usamos desea llamara a la función "fn" de la librería "L1". El S.O. no puede llamar directamente al programa sino utiliza una función de nombre GetProAddress("L1","fun") para llamar la función de la librería.

En resumen:
call fn
call pl1
Es equivalente a:
pfn=GetProcAddress("L1","fn");
push "L1"
push "fn"
call GetProcAddress
mov pfn, ax
call pfn

Luego surgen preguntas del tema:

¿Un S.O. controla el puntero de pila cuando un programa se esta cargando? ¿Cuando se llama a la misma función de la librería por dos programas distintos sigue los mismo pasos? ¿Los virus pueden modificar el archivo librería del sistema operativo para que en lugar de llamar a la función llame a la función de un virus?

Los profesores del curso de Lenguaje de Programación 2 realizaron un Manual del Curso Manual del Curso LP2[961clicks] para el uso de los alumnos del curso.