1. Equipo 1
María Guadalupe Olvera Nolasco
Verónica Patricia Pasillas Gutiérrez
Luz Angélica Sánchez Castruita
2. Programación modular
• Productividad de un programa.
• Divide en módulos, ejecuta una única actividad, se analiza, se codifica y se por
separado.
Problema
M1 M2 M3 M4
Consideraciones para formar un archivo .EXE
(símbolos privados)
3. DIRECTIVAS PARA PROGRAMAS QUE USAN
VARIOS MÓDULOS.
PUBLIC
Se usa para declarar símbolos públicos otro módulo accesará a ellos.
Sintaxis:
PUBLIC nombre [, nombre]
(variable, etiqueta o constante numérica)
-Puede ponerse en cualquier parte del archivo fuente.
-Estos símbolos van a ser usados en otro archivo en el cual no se han declarado.
Para indicarle al ensamblador que están declarados en otro módulo, usamos la
directiva EXTRN.
4. Si el enlazador no encontró la declaración de los símbolos manejados como EXTRN,
se enviará el siguiente mensaje: UNRESOLVED EXTERNALS nombre del símbolo.
Si un símbolo referenciado como PUBLIC en el módulo donde
es declarado, en el módulo donde es usado deberá ser
referenciado como EXTRN.
5. Se emplea cuando un símbolo es usado en un módulo y no es declarado en él.
Sintaxis:
EXTRN nombre:tipo [, nombre:tipo]...
El tipo deberá ser el mismo dado al símbolo en el módulo donde es declarado.
El tipo puede ser uno de los siguientes:
6. - El tipo PROC representa el tipo por default para un procedimiento.
- NEAR Es una etiqueta deberá declararse en el segmento de código desde el
cual los símbolos son utilizados.
- FAR Es una etiqueta la cual puede ser declarada en cualquier parte del
archivo fuente, es conveniente hacer la declaración en el segmento de
código donde los símbolos son utilizados.
- El tipo ABS se usa para símbolos que representan números constantes
declaradas.
7. Bibliotecas
Una biblioteca o librería es un archivo, normalmente con
extensión .LIB la cual contiene 2 o mas módulos (.obj), estos
módulos almacenan procedimientos los cuales realizan procesos
específicos.
Algunos ejemplos de procedimientos almacenados en bibliotecas
de C son:
•Printf, fprintf,cprintf
•Scanf,fscanf
•Pow,gets,clrscr,gotoxy
8. Los módulos que se almacenan en las bibliotecas se encuentran en
código maquina reubicable(.obj) que son unidos al archivo
ejecutable en el momento del enlace, después de unir los módulos
reubicables declarados en la línea de comandos.
En los lenguajes de alto nivel, se proveen mecanismos para que
ciertas bibliotecas (normalmente las que contienen
funciones o procedimientos de E/S y de uso común) sean llamadas
de manera implícita al realizar el enlazado.
9. El manejador de bibliotecas nos permite reunir en un solo archivo modulos
reubicables que previamente ya estan compilados o ensamblados.
La ventaja que tiene una librería es que al momento de hacer el enlace solo
llama de la biblioteca, los procedimientos que estamos utilizando en
nuestro programa.
El manejador de bibliotecas nos permite:
Crear un nuevo archivo de biblioteca.
1.- Sumar modulos a una biblioteca ya existente.
2.- Borrar modulos.
3.- Reemplazar modulos.
4.- Sacar modulos de una biblioteca como archivos .obj
10. Sintaxis:
LIB lib_vieja [opciones] [comandos] [,arch_list] [,[lib_nuev]] [;]
donde:
lib_vieja: es una librería que ya existe a la que queremos hacerle modificaciones.
Si aun no existe se crea, y automaticamente toma extencion .LIB
Opciones: son alternativas usadas para modificar o crear una librería.
/?: Ayuda en línea.
/HELP Ayuda en pantalla.
/IGNORECASE No considera Mayúsculas/Minúsculas.
Comandos: Nos definen las acciones a realizar sobre la librería.
+ Suma un modulo a la librería.
- Borra un modulo de la librería.
-+ Reemplaza un modulo de la librería.
11. Sintaxis:
LIB lib_vieja [opciones] [comandos] [,arch_list] [,[lib_nuev]] [;]
donde:
arch_list: Crea un archivo, el cual contiene los nombres y
simbolos publicos almacenados en la librería.
Lib_nuev: Especifica un nuevo nombre para una librería.