SlideShare ist ein Scribd-Unternehmen logo
1 von 11
Equipo 1
María Guadalupe Olvera Nolasco
Verónica Patricia Pasillas Gutiérrez
Luz Angélica Sánchez Castruita
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)
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.
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.
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:
-   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.
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
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.
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
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.
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.

Weitere ähnliche Inhalte

Was ist angesagt?

Estructura de un programa en c
Estructura de un programa en cEstructura de un programa en c
Estructura de un programa en cMary Guaman
 
File Find - Proyecto Programación 3 1992 - UFM - FISICC
File Find - Proyecto Programación 3 1992 - UFM - FISICCFile Find - Proyecto Programación 3 1992 - UFM - FISICC
File Find - Proyecto Programación 3 1992 - UFM - FISICCEgdares Futch H.
 
Aplicaciones java. Presentacion Power Point
Aplicaciones java. Presentacion Power PointAplicaciones java. Presentacion Power Point
Aplicaciones java. Presentacion Power PointMariviMartinezM
 
Introducción a GNU - POSIX - LINUX
Introducción a GNU - POSIX - LINUXIntroducción a GNU - POSIX - LINUX
Introducción a GNU - POSIX - LINUXJose Pla
 
Estructura del sistema operativo linux
Estructura del sistema operativo linuxEstructura del sistema operativo linux
Estructura del sistema operativo linuxMatildeMontoyaLafragua
 
Nucleo o kernel de Linux
Nucleo o kernel de LinuxNucleo o kernel de Linux
Nucleo o kernel de LinuxJhon TRUJILLO
 
Actividad no 1
Actividad no 1Actividad no 1
Actividad no 1Lenidav
 

Was ist angesagt? (11)

Estructura de un programa en c
Estructura de un programa en cEstructura de un programa en c
Estructura de un programa en c
 
File Find - Proyecto Programación 3 1992 - UFM - FISICC
File Find - Proyecto Programación 3 1992 - UFM - FISICCFile Find - Proyecto Programación 3 1992 - UFM - FISICC
File Find - Proyecto Programación 3 1992 - UFM - FISICC
 
Estructura basica para_c_
Estructura basica para_c_Estructura basica para_c_
Estructura basica para_c_
 
Aplicaciones java. Presentacion Power Point
Aplicaciones java. Presentacion Power PointAplicaciones java. Presentacion Power Point
Aplicaciones java. Presentacion Power Point
 
Introducción a Plataformas Tecnológicas
Introducción a Plataformas TecnológicasIntroducción a Plataformas Tecnológicas
Introducción a Plataformas Tecnológicas
 
Introducción a GNU - POSIX - LINUX
Introducción a GNU - POSIX - LINUXIntroducción a GNU - POSIX - LINUX
Introducción a GNU - POSIX - LINUX
 
Estructura del sistema operativo linux
Estructura del sistema operativo linuxEstructura del sistema operativo linux
Estructura del sistema operativo linux
 
Ap01 java
Ap01 javaAp01 java
Ap01 java
 
Nucleo o kernel de Linux
Nucleo o kernel de LinuxNucleo o kernel de Linux
Nucleo o kernel de Linux
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Actividad no 1
Actividad no 1Actividad no 1
Actividad no 1
 

Andere mochten auch

Blue Cross Of IL - More Plan Options Come 2013
Blue Cross Of IL -  More Plan Options Come 2013Blue Cross Of IL -  More Plan Options Come 2013
Blue Cross Of IL - More Plan Options Come 2013jpacts
 
Uso Efectivo de Twitter para la Empresa
Uso Efectivo de Twitter para la EmpresaUso Efectivo de Twitter para la Empresa
Uso Efectivo de Twitter para la EmpresaMilton Vela
 
First Day Answers2010
First Day Answers2010First Day Answers2010
First Day Answers2010F M Gaudineer
 
Website slide show
Website slide showWebsite slide show
Website slide showSFVCC
 
Como acabara el mundo
Como acabara el mundoComo acabara el mundo
Como acabara el mundoAlicia Cacace
 
How The 2013 NCCI Work Com Rating Formula
How The 2013 NCCI Work Com Rating FormulaHow The 2013 NCCI Work Com Rating Formula
How The 2013 NCCI Work Com Rating Formulajpacts
 
O mercado imobiliário de Santos SP
O mercado imobiliário de Santos SPO mercado imobiliário de Santos SP
O mercado imobiliário de Santos SPGuru do Corretor
 

Andere mochten auch (8)

Blue Cross Of IL - More Plan Options Come 2013
Blue Cross Of IL -  More Plan Options Come 2013Blue Cross Of IL -  More Plan Options Come 2013
Blue Cross Of IL - More Plan Options Come 2013
 
Uso Efectivo de Twitter para la Empresa
Uso Efectivo de Twitter para la EmpresaUso Efectivo de Twitter para la Empresa
Uso Efectivo de Twitter para la Empresa
 
First Day Answers2010
First Day Answers2010First Day Answers2010
First Day Answers2010
 
8 regalos para_ti
8 regalos para_ti8 regalos para_ti
8 regalos para_ti
 
Website slide show
Website slide showWebsite slide show
Website slide show
 
Como acabara el mundo
Como acabara el mundoComo acabara el mundo
Como acabara el mundo
 
How The 2013 NCCI Work Com Rating Formula
How The 2013 NCCI Work Com Rating FormulaHow The 2013 NCCI Work Com Rating Formula
How The 2013 NCCI Work Com Rating Formula
 
O mercado imobiliário de Santos SP
O mercado imobiliário de Santos SPO mercado imobiliário de Santos SP
O mercado imobiliário de Santos SP
 

Ähnlich wie Modulos externos

Unidad 3 isc j3 paquetes y librerias CB
Unidad 3 isc j3 paquetes y librerias CBUnidad 3 isc j3 paquetes y librerias CB
Unidad 3 isc j3 paquetes y librerias CBJhonatan Pat
 
investigacion unidad tres componentes y librerias
investigacion unidad tres componentes y libreriasinvestigacion unidad tres componentes y librerias
investigacion unidad tres componentes y libreriasAnel Sosa
 
Unidad III-Programación Modular-introducción al lenguaje programable.pdf
Unidad III-Programación Modular-introducción al lenguaje programable.pdfUnidad III-Programación Modular-introducción al lenguaje programable.pdf
Unidad III-Programación Modular-introducción al lenguaje programable.pdfEDWINERNESTOMADRIDME
 
Mplab
MplabMplab
Mplaburiel
 
Funciones de Bibliotecas y Modulos en Programacion
Funciones de Bibliotecas y Modulos en Programacion Funciones de Bibliotecas y Modulos en Programacion
Funciones de Bibliotecas y Modulos en Programacion Fernando Solis
 
Trabajo practico Nº3 Juan Ignacio Callegaris
Trabajo practico Nº3 Juan Ignacio CallegarisTrabajo practico Nº3 Juan Ignacio Callegaris
Trabajo practico Nº3 Juan Ignacio Callegarispromo2016
 
Nuevo Manual de Gambas v2 [14-oct-2010]
Nuevo Manual de Gambas v2 [14-oct-2010]Nuevo Manual de Gambas v2 [14-oct-2010]
Nuevo Manual de Gambas v2 [14-oct-2010]Matías Olmos
 
Clase1(software libre)
Clase1(software libre)Clase1(software libre)
Clase1(software libre)juanhuapaya
 
Lp II clase03 - Entornos de Desarrollo
Lp II clase03 - Entornos de DesarrolloLp II clase03 - Entornos de Desarrollo
Lp II clase03 - Entornos de DesarrolloAngelDX
 
Programación de módulos para Drupal 7
Programación de módulos para Drupal 7Programación de módulos para Drupal 7
Programación de módulos para Drupal 7Cristian Mamani
 

Ähnlich wie Modulos externos (20)

Unidad 3 isc j3 paquetes y librerias CB
Unidad 3 isc j3 paquetes y librerias CBUnidad 3 isc j3 paquetes y librerias CB
Unidad 3 isc j3 paquetes y librerias CB
 
linux44
linux44linux44
linux44
 
investigacion unidad tres componentes y librerias
investigacion unidad tres componentes y libreriasinvestigacion unidad tres componentes y librerias
investigacion unidad tres componentes y librerias
 
Unidad III-Programación Modular-introducción al lenguaje programable.pdf
Unidad III-Programación Modular-introducción al lenguaje programable.pdfUnidad III-Programación Modular-introducción al lenguaje programable.pdf
Unidad III-Programación Modular-introducción al lenguaje programable.pdf
 
Mplab
MplabMplab
Mplab
 
Conceptos estructuras de datos
Conceptos estructuras de datosConceptos estructuras de datos
Conceptos estructuras de datos
 
Funciones de Bibliotecas y Modulos en Programacion
Funciones de Bibliotecas y Modulos en Programacion Funciones de Bibliotecas y Modulos en Programacion
Funciones de Bibliotecas y Modulos en Programacion
 
Trabajo practico Nº3 Juan Ignacio Callegaris
Trabajo practico Nº3 Juan Ignacio CallegarisTrabajo practico Nº3 Juan Ignacio Callegaris
Trabajo practico Nº3 Juan Ignacio Callegaris
 
Visual Basic 2005
Visual Basic 2005Visual Basic 2005
Visual Basic 2005
 
Ejecutables
EjecutablesEjecutables
Ejecutables
 
thy
thythy
thy
 
UNIDAD 3 MODULARIZACIÓN
UNIDAD 3 MODULARIZACIÓNUNIDAD 3 MODULARIZACIÓN
UNIDAD 3 MODULARIZACIÓN
 
Nuevo Manual de Gambas v2 [14-oct-2010]
Nuevo Manual de Gambas v2 [14-oct-2010]Nuevo Manual de Gambas v2 [14-oct-2010]
Nuevo Manual de Gambas v2 [14-oct-2010]
 
Clase1(software libre)
Clase1(software libre)Clase1(software libre)
Clase1(software libre)
 
Guía1
Guía1Guía1
Guía1
 
Manual del desarrollador
Manual del desarrolladorManual del desarrollador
Manual del desarrollador
 
Lp II clase03 - Entornos de Desarrollo
Lp II clase03 - Entornos de DesarrolloLp II clase03 - Entornos de Desarrollo
Lp II clase03 - Entornos de Desarrollo
 
Programación de módulos para Drupal 7
Programación de módulos para Drupal 7Programación de módulos para Drupal 7
Programación de módulos para Drupal 7
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacion
 

Modulos externos

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