SlideShare una empresa de Scribd logo
1 de 26
Ingeniería en Sistemas Computacionales
Tópicos Avanzados de Programación
Unidad III: Componentes y Librerías
Este material está desarrollado para la asignatura Tópicos Avanzados de Programación, de la carrera de Ingeniería en
Sistemas Computacionales, plan de estudios ISIC-2010-224
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Competencia: Diseñar e implementar componentes y librerías.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
¿Qué es una biblioteca o librería?
TÓPICOS AVANZADOS DE PROGRAMACIÓN
En informática, una biblioteca (del inglés library) es un conjunto de
implementaciones de comportamiento, escritas para un lenguaje de
programación, que tienen una interfaz bien definida para el comportamiento
que se invoca.
A diferencia de un programa ejecutable, el comportamiento que implementa
una biblioteca no espera ser utilizada de forma autónoma (un programa sí:
tiene un punto de entrada principal), sino que su fin es ser utilizada por otros
programas, independientes y de forma simultánea.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Por otra parte, el comportamiento de una biblioteca no tiene porqué
diferenciarse en demasía del que pudiera especificarse en un programa. Es
más, unas bibliotecas pueden requerir de otras para funcionar, pues el
comportamiento que definen refina, o altera, el comportamiento de la
biblioteca original; o bien la hace disponible para otra tecnología o lenguaje de
programación.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
• La mayoría de los sistemas operativos modernos proporcionan bibliotecas
que implementan los servicios del sistema. De esta manera, estos servicios
se han convertido en una "materia prima" que cualquier aplicación
moderna espera que el sistema operativo ofrezca.
• Como tal, la mayor parte del código utilizado por las aplicaciones modernas
se ofrece en estas bibliotecas.
Tipos de bibliotecas
Bibliotecas Estáticas: Históricamente, las bibliotecas sólo podían ser
estáticas. Una biblioteca estática, también conocido como archivo es un
fichero contenedor con varios archivos de código objeto empaquetados,
que en el proceso de enlazado durante la compilación serán copiados y
relocalizados (si es necesario) en el archivo ejecutable final, junto con el
resto de archivos de código objeto. Este proceso, y el archivo ejecutable,
se conoce como una construcción estática de la aplicación objetivo.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
• En este caso, la biblioteca actúa simplemente como un
recipiente para archivos de código objeto que no se
diferencian (más que semánticamente) de los archivos
objeto intermedios producidos durante la etapa previa de
compilación del programa.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
• Bibliotecas dinámicas: Las bibliotecas dinámicas, vinculadas
dinámicamente, o de vínculos dinámicos son ficheros que
contienen código objeto construido de forma independiente
a su ubicación de tal modo que están preparadas para poder
ser requeridas y cargadas en tiempo de ejecución por
cualquier programa, en lugar de tener que ser enlazadas,
previamente, en tiempo de compilación.
• Por tanto, han de estar disponibles como ficheros
independientes al programa ejecutable (generalmente en
directorios del sistema).
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Un archivo DLL (Dynamic Library Link) es un módulo
componente de un programa que ejecuta alguna
función. Estos archivos DLL son muy útiles, pero
también suelen ser causa de errores en Windows.
Los archivos DLL ejecutan acciones o rutinas de uso
frecuente en Windows, y un mismo archivo DLL
puede ser usado por varios programas al mismo
tiempo (como el Kernel32.dll). Por ejemplo el
procesador de palabras, la hoja de cálculo y otros
programas pueden usar un mismo archivo DLL para
desplegar el cuadro diálogo Abrir, cada vez que usted
usa el comando Abrir.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Gracias a ese esquema modular, hay muchas funciones que los creadores
de software no tienen que incluir en sus programas; cuando un programa
necesita enviar un documento a la impresora, simplemente llama el archivo
DLL respectivo (que ya Windows instaló) para que este cargue y ejecute la
tarea. De esa forma, los programas son más pequeños y se ahorra espacio
en el disco duro.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
• El hecho de que estos módulos de rutinas (Archivos DLL) no sean parte de
programas, sino que se guardan como archivos independientes, también
optimiza el uso de la memoria RAM.
• Un DLL se carga en la memoria RAM y se ejecuta únicamente cuando un
programa lo llama para que realice una función, mientras que otros
módulos de rutinas que sí hacen parte del programa permanecen
cargados en la memoria mientras trabaja con un programa.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
• Windows incluye muchos archivos DLL que son usados por otros
programas (la mayoría en la carpeta c:windowssystem). Pero algunos
programas también instalan sus propios archivos DLL (y generalmente
los colocan en la carpeta del disco duro en la que está guardado dicho
programa).
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Observaciones en el manejo de DLL
• Como diferentes programas deben compartir los mismo DLL, si
algunos programas no respetan ciertas reglas del juego se pueden
producir errores.
• A veces uno instala programas que colocan una versión vieja de un
archivo DLL en la carpeta c:windowssystem y remplazan -sin avisar-
la versión más reciente del mismo DLL. Al hacer eso, es posible que se
produzcan fallas en los programas que usaban la versión más reciente
del DLL;
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Observaciones en el manejo de DLL
Nota: En Windows XP no es posible reemplazar un archivo dll del
sistema, ya que este se dará cuenta y automáticamente copiara el DLL
correcto de su base de datos, Windows XP se protege de esta manera
para evitar conflictos.
No todos los archivos DLL tienen extensión .dll; también hay archivos del
mismo tipo con extensiones .ocx, .exe, .drv, .vxd, etc.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Cuando Windows le muestre un mensaje de error que dice que le falta un
DLL:
• Anote el nombre exacto del archivo (incluyendo la extensión),
• Busque el archivo en cualquiera de los sitios de Microsoft o del
software en cuestión,
• Descárguelo y cópielo en la carpeta en la que lo está buscando el
programa que generó el mensaje de error (probablemente
c:windowssystem o la carpeta en la que está almacenado el
programa).
• Pruebe su aplicación de nuevo en el punto donde ocurrió el error.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Tenga en cuenta que puede haber versiones diferentes de Archivos DLL,
pero con un nombre idéntico. Se recomienda no remplazar un DLL por
una versión más vieja (para saber que versión tiene un DLL, busque el
archivo, dé clic derecho sobre él, seleccione propiedades y dé clic en la
pestaña Versión).
Lo mejor es que siempre guarde en un dispositivo extraíble o alguna
parte de sus disco duro el DLL que va a reemplazar (incluso aunque sea
de una versión más vieja). Uno nunca sabe qué programa lo pueda
necesitar.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Windows File Protection [WFP]
Windows FIle Protection (WFP) protege los archivos DLL del sistema de ser
actualizadas o borradas por agentes no autorizados. Las aplicaciones no
pueden sustituir las DLLs del sistema. Únicamente los paquetes de
actualización del sistema operativo como los SP (Service Packs) pueden
hacer esto.
Los archivos DLL del sistema que pueden ser únicamente actualizadas por
los Service Pack (SP) se denominan DLLs protegidas. Hay aproximadamente
2800 DLLs protegidas (en Windows XP).
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Windows File Protection [WFP]
Si intentamos copiar un archivo DLL idéntico a uno protegido en el
directorio del sistema, el reemplazo del archivo DLL, aparentemente,
parecerá que es correcta y no veremos ningún mensaje de error. Pero
Windows XP recuperarán el archivo DLL recientemente copiado con el
archivo DLL original silenciosamente.
WFP elimina completamente los errores de los archivos DLL y además
minimiza los problemas causados por instalación y/o actualización de
aplicaciones.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Pasos para crear una DLL (librería dinámica)
• Inicie Visual Studio.
• En el menú Archivo, elija Nuevo y haga clic en Proyecto.
• En el cuadro de diálogo Nuevo proyecto, en el panel Tipos de proyecto,
asegúrese de haber seleccionado Windows.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
• En el panel Plantillas,
seleccione Aplicación de
consola.
• En el cuadro Nombre,
escriba EjemploDLL y, a
continuación, haga clic
en Aceptar. Se crea el
nuevo proyecto.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
• Se creará el código default de la DLL
• Crear estructura DLL (libre
dependiendo de la aplicación)
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Crear un proyecto independiente (libre dependiendo de la
necesidad)
• Lo siguiente será crear un proyecto independiente, pero en el que
necesitaremos utilizar la Dll que hemos creado. En este caso un
proyecto básico del tipo Windows Forms, o bien un proyecto de
consola
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Referenciar nuestra Dll (registrar)
• Para poder utilizar nuestra Dll, es preciso
referenciarla, por lo que iremos a
Referencias y añadiremos una nueva
Referencia (que no será System, ni Com), si
no que iremos a buscarla mediante el
browser.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Ejercicio:
Crear biblioteca dinámica que contenga las 4 operaciones matemáticas
básicas en números enteros, dicha biblioteca deberá ser referenciada a la
aplicación de CALCULADORA que se hizo en la segunda unidad de esta
materia, por lo que cada una de esas operaciones deberá realizarse desde la
biblioteca a partir de ahora.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Proyecto; Crear una aplicación de agenda que contenga los siguientes campos:
• Nombre:
• Teléfono:
• Fecha de Nacimiento:
• Red social:
Adicionalmente crear una librería con las siguientes características:
• Pantalla de login al sistema: debe aceptar usuario y clave.
• El usuario y clave puede validarse ya sea por medio de un archivo de texto o
por medio de arreglos.
• La clave debe contener al menos una letra minúscula, una letra mayúscula, un
número, y un carácter especial.
TÓPICOS AVANZADOS DE PROGRAMACIÓN
La forma de acceder a la agenda es por medio de
la pantalla de login al sistema que debe ser
llamada desde la librería creada previamente.

Más contenido relacionado

La actualidad más candente

Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesadorFernando Camacho
 
Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)Javier Alvarez
 
Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetosstill01
 
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteTópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteJosé Antonio Sandoval Acosta
 
Metodologías de desarrollo de software
Metodologías de desarrollo de softwareMetodologías de desarrollo de software
Metodologías de desarrollo de softwareWilfredo Mogollón
 
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosFundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosJosé Antonio Sandoval Acosta
 
Unidad 4 graficación
Unidad 4 graficaciónUnidad 4 graficación
Unidad 4 graficaciónAndhy H Palma
 
Lenguajes autómatas.
Lenguajes autómatas.Lenguajes autómatas.
Lenguajes autómatas.LuiS YmAY
 
Diagrama de Flujo de Datos (DFD)
Diagrama de Flujo de Datos (DFD)Diagrama de Flujo de Datos (DFD)
Diagrama de Flujo de Datos (DFD)Yaskelly Yedra
 
herramientas case
herramientas caseherramientas case
herramientas casetomaspetto
 
Ejemplos de proyectos al modelo en cascada
Ejemplos de proyectos  al modelo en cascadaEjemplos de proyectos  al modelo en cascada
Ejemplos de proyectos al modelo en cascadaaics-1986-13-saraguro
 

La actualidad más candente (20)

Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Taller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL proceduralTaller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL procedural
 
Taller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 ConectividadTaller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 Conectividad
 
Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)
 
Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesador
 
Pruebas De Software
Pruebas De SoftwarePruebas De Software
Pruebas De Software
 
Traductor y su estructura
Traductor y su estructuraTraductor y su estructura
Traductor y su estructura
 
Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)
 
Herramientas case full informacion
Herramientas case full informacionHerramientas case full informacion
Herramientas case full informacion
 
Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetos
 
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteTópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
 
Metodologías de desarrollo de software
Metodologías de desarrollo de softwareMetodologías de desarrollo de software
Metodologías de desarrollo de software
 
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosFundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
 
Unidad 4 graficación
Unidad 4 graficaciónUnidad 4 graficación
Unidad 4 graficación
 
Lenguajes autómatas.
Lenguajes autómatas.Lenguajes autómatas.
Lenguajes autómatas.
 
Diagrama de Flujo de Datos (DFD)
Diagrama de Flujo de Datos (DFD)Diagrama de Flujo de Datos (DFD)
Diagrama de Flujo de Datos (DFD)
 
herramientas case
herramientas caseherramientas case
herramientas case
 
control de concurrencia
control de concurrenciacontrol de concurrencia
control de concurrencia
 
Ejemplos de proyectos al modelo en cascada
Ejemplos de proyectos  al modelo en cascadaEjemplos de proyectos  al modelo en cascada
Ejemplos de proyectos al modelo en cascada
 
Casos de uso
Casos de usoCasos de uso
Casos de uso
 

Destacado

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 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionIrving Che
 
Topicos Avanzados de Programacion - Unidad 5 programacion movil
Topicos Avanzados de Programacion -  Unidad 5 programacion movilTopicos Avanzados de Programacion -  Unidad 5 programacion movil
Topicos Avanzados de Programacion - Unidad 5 programacion movilJosé Antonio Sandoval Acosta
 
Fundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicosFundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicosJosé Antonio Sandoval Acosta
 
Fundamentos de BD - Unidad 1 Sistemas Gestores de BD
Fundamentos de BD - Unidad 1 Sistemas Gestores de BDFundamentos de BD - Unidad 1 Sistemas Gestores de BD
Fundamentos de BD - Unidad 1 Sistemas Gestores de BDJosé Antonio Sandoval Acosta
 
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrenteTopicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrenteJosé Antonio Sandoval Acosta
 
Taller de BD - Unidad 1 SGBD instalación de sql server 2012
Taller de BD - Unidad 1 SGBD instalación de sql server 2012Taller de BD - Unidad 1 SGBD instalación de sql server 2012
Taller de BD - Unidad 1 SGBD instalación de sql server 2012José Antonio Sandoval Acosta
 
Fundamentos de BD - Unidad 4 diseño de bd relacional
Fundamentos de BD - Unidad 4 diseño de bd relacionalFundamentos de BD - Unidad 4 diseño de bd relacional
Fundamentos de BD - Unidad 4 diseño de bd relacionalJosé Antonio Sandoval Acosta
 
Simulación - Unidad 3 generacion de variables aleatorias
Simulación - Unidad 3 generacion de variables aleatoriasSimulación - Unidad 3 generacion de variables aleatorias
Simulación - Unidad 3 generacion de variables aleatoriasJosé Antonio Sandoval Acosta
 
Taller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccionTaller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccionJosé Antonio Sandoval Acosta
 
Fundamentos de Programacion - Unidad 3 Introduccion a la programacion
Fundamentos de Programacion - Unidad 3 Introduccion a la programacionFundamentos de Programacion - Unidad 3 Introduccion a la programacion
Fundamentos de Programacion - Unidad 3 Introduccion a la programacionJosé Antonio Sandoval Acosta
 
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
Fundamentos de TelecomunicacionesUnidad 5 Dispositivos de ComunicaciónFundamentos de TelecomunicacionesUnidad 5 Dispositivos de Comunicación
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de ComunicaciónJosé Antonio Sandoval Acosta
 
Programacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooProgramacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooJosé Antonio Sandoval Acosta
 
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilTópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilJosé Antonio Sandoval Acosta
 

Destacado (20)

Topicos Avanzados de Programacion Unidad 1 Eventos
Topicos Avanzados de Programacion Unidad 1 EventosTopicos Avanzados de Programacion Unidad 1 Eventos
Topicos Avanzados de Programacion Unidad 1 Eventos
 
investigacion unidad tres componentes y librerias
investigacion unidad tres componentes y libreriasinvestigacion unidad tres componentes y librerias
investigacion unidad tres componentes y librerias
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacion
 
Fundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sqlFundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sql
 
Topicos Avanzados de Programacion - Unidad 5 programacion movil
Topicos Avanzados de Programacion -  Unidad 5 programacion movilTopicos Avanzados de Programacion -  Unidad 5 programacion movil
Topicos Avanzados de Programacion - Unidad 5 programacion movil
 
Fundamentos de BD - Unidad 5 algebra relacional
Fundamentos de BD - Unidad 5 algebra relacionalFundamentos de BD - Unidad 5 algebra relacional
Fundamentos de BD - Unidad 5 algebra relacional
 
Fundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicosFundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicos
 
Estructura de Datos - Unidad II Recursividad
Estructura de Datos - Unidad II RecursividadEstructura de Datos - Unidad II Recursividad
Estructura de Datos - Unidad II Recursividad
 
Fundamentos de BD - Unidad 1 Sistemas Gestores de BD
Fundamentos de BD - Unidad 1 Sistemas Gestores de BDFundamentos de BD - Unidad 1 Sistemas Gestores de BD
Fundamentos de BD - Unidad 1 Sistemas Gestores de BD
 
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrenteTopicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
 
Taller de BD - Unidad 1 SGBD instalación de sql server 2012
Taller de BD - Unidad 1 SGBD instalación de sql server 2012Taller de BD - Unidad 1 SGBD instalación de sql server 2012
Taller de BD - Unidad 1 SGBD instalación de sql server 2012
 
Fundamentos de BD - Unidad 4 diseño de bd relacional
Fundamentos de BD - Unidad 4 diseño de bd relacionalFundamentos de BD - Unidad 4 diseño de bd relacional
Fundamentos de BD - Unidad 4 diseño de bd relacional
 
Simulación - Unidad 3 generacion de variables aleatorias
Simulación - Unidad 3 generacion de variables aleatoriasSimulación - Unidad 3 generacion de variables aleatorias
Simulación - Unidad 3 generacion de variables aleatorias
 
Taller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccionTaller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccion
 
Fundamentos de Programacion - Unidad 3 Introduccion a la programacion
Fundamentos de Programacion - Unidad 3 Introduccion a la programacionFundamentos de Programacion - Unidad 3 Introduccion a la programacion
Fundamentos de Programacion - Unidad 3 Introduccion a la programacion
 
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
Fundamentos de TelecomunicacionesUnidad 5 Dispositivos de ComunicaciónFundamentos de TelecomunicacionesUnidad 5 Dispositivos de Comunicación
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
 
Programacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooProgramacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma poo
 
Taller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DMLTaller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DML
 
Conexiones inalámbricas punto a punto usando wds
Conexiones inalámbricas punto a punto usando wds Conexiones inalámbricas punto a punto usando wds
Conexiones inalámbricas punto a punto usando wds
 
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilTópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
 

Similar a Topicos Avanzados de Programacion - Unidad 3 componentes y librerias

Apis Windows
Apis WindowsApis Windows
Apis Windowssgam_00
 
Apis Windows2
Apis Windows2Apis Windows2
Apis Windows2sgam_00
 
Comparacion de las estructuras de bloque de los sistemas operativos symbian, ...
Comparacion de las estructuras de bloque de los sistemas operativos symbian, ...Comparacion de las estructuras de bloque de los sistemas operativos symbian, ...
Comparacion de las estructuras de bloque de los sistemas operativos symbian, ...Alex Pin
 
411958729 curso-de-delphi-pdf
411958729 curso-de-delphi-pdf411958729 curso-de-delphi-pdf
411958729 curso-de-delphi-pdfxavazque2
 
1.introduccion a la programación
1.introduccion a la programación1.introduccion a la programación
1.introduccion a la programaciónMarina Vintimilla
 
Eclipse java en_espanol
Eclipse java en_espanolEclipse java en_espanol
Eclipse java en_espanolANTHONY OCHOA
 
Mi primera-hora-con-eclipse Tutorial
Mi primera-hora-con-eclipse TutorialMi primera-hora-con-eclipse Tutorial
Mi primera-hora-con-eclipse TutorialMarthaa Hdz
 
Mi primera-hora-con-eclipse
Mi primera-hora-con-eclipseMi primera-hora-con-eclipse
Mi primera-hora-con-eclipseJose Nava
 
Mi primera-hora-con-eclipse
Mi primera-hora-con-eclipseMi primera-hora-con-eclipse
Mi primera-hora-con-eclipseAranza Angeles
 
Mi primera-hora-con-eclipse
Mi primera-hora-con-eclipseMi primera-hora-con-eclipse
Mi primera-hora-con-eclipseJosué Naquid
 
Mi primera-hora-con-eclipse
Mi primera-hora-con-eclipseMi primera-hora-con-eclipse
Mi primera-hora-con-eclipseJenny Martinez
 

Similar a Topicos Avanzados de Programacion - Unidad 3 componentes y librerias (20)

Apis Windows
Apis WindowsApis Windows
Apis Windows
 
Api Web
Api WebApi Web
Api Web
 
Apis Windows2
Apis Windows2Apis Windows2
Apis Windows2
 
Ejecutables
EjecutablesEjecutables
Ejecutables
 
Comparacion de las estructuras de bloque de los sistemas operativos symbian, ...
Comparacion de las estructuras de bloque de los sistemas operativos symbian, ...Comparacion de las estructuras de bloque de los sistemas operativos symbian, ...
Comparacion de las estructuras de bloque de los sistemas operativos symbian, ...
 
411958729 curso-de-delphi-pdf
411958729 curso-de-delphi-pdf411958729 curso-de-delphi-pdf
411958729 curso-de-delphi-pdf
 
Curso de delphi
Curso de delphiCurso de delphi
Curso de delphi
 
1.introduccion a la programación
1.introduccion a la programación1.introduccion a la programación
1.introduccion a la programación
 
Eclipse java en_espanol
Eclipse java en_espanolEclipse java en_espanol
Eclipse java en_espanol
 
Tutorial 3
Tutorial 3Tutorial 3
Tutorial 3
 
Mi primera-hora-con-eclipse Tutorial
Mi primera-hora-con-eclipse TutorialMi primera-hora-con-eclipse Tutorial
Mi primera-hora-con-eclipse Tutorial
 
Tutorial 3
Tutorial 3Tutorial 3
Tutorial 3
 
Mi primera-hora-con-eclipse
Mi primera-hora-con-eclipseMi primera-hora-con-eclipse
Mi primera-hora-con-eclipse
 
Mi primera-hora-con-eclipse
Mi primera-hora-con-eclipseMi primera-hora-con-eclipse
Mi primera-hora-con-eclipse
 
Mi primera-hora-con-eclipse
Mi primera-hora-con-eclipseMi primera-hora-con-eclipse
Mi primera-hora-con-eclipse
 
Mi primera-hora-con-eclipse
Mi primera-hora-con-eclipseMi primera-hora-con-eclipse
Mi primera-hora-con-eclipse
 
Tutorial de eclipse
Tutorial de eclipseTutorial de eclipse
Tutorial de eclipse
 
Mi primera-hora-con-eclipse
Mi primera-hora-con-eclipseMi primera-hora-con-eclipse
Mi primera-hora-con-eclipse
 
Tutorial 2
Tutorial 2Tutorial 2
Tutorial 2
 
Mi primera-hora-con-eclipse
Mi primera-hora-con-eclipseMi primera-hora-con-eclipse
Mi primera-hora-con-eclipse
 

Más de José Antonio Sandoval Acosta

Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosJosé Antonio Sandoval Acosta
 

Más de José Antonio Sandoval Acosta (20)

Linea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptxLinea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptx
 
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptxUNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
 
croquis de aulas UAIM topolobampo FEB 2024
croquis de aulas UAIM topolobampo  FEB 2024croquis de aulas UAIM topolobampo  FEB 2024
croquis de aulas UAIM topolobampo FEB 2024
 
Ing. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 MódulosIng. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 Módulos
 
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujo
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
 
Manual de prácticas y antología para POO
Manual de prácticas y antología para  POOManual de prácticas y antología para  POO
Manual de prácticas y antología para POO
 
Aplicaciones móviles intro.
Aplicaciones móviles intro.Aplicaciones móviles intro.
Aplicaciones móviles intro.
 
Economia
EconomiaEconomia
Economia
 
ISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptxISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptx
 
Plantilla presentación.pptx
Plantilla presentación.pptxPlantilla presentación.pptx
Plantilla presentación.pptx
 
kitchenham.pptx
kitchenham.pptxkitchenham.pptx
kitchenham.pptx
 
Diagrama de Casos de Uso UML
Diagrama de Casos de Uso UMLDiagrama de Casos de Uso UML
Diagrama de Casos de Uso UML
 
Introducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UMLIntroducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UML
 
Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
 
Diagrama UML Casos de Uso
Diagrama UML Casos de UsoDiagrama UML Casos de Uso
Diagrama UML Casos de Uso
 
Tema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdfTema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdf
 
Tema 1 - Intro.pdf
Tema 1 - Intro.pdfTema 1 - Intro.pdf
Tema 1 - Intro.pdf
 

Último

Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSaulSantiago25
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxSergioGJimenezMorean
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptxguillermosantana15
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdfAnthonyTiclia
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfDanielaVelasquez553560
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)ssuser563c56
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.ALEJANDROLEONGALICIA
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdfFernandaGarca788912
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdfEdwinAlexanderSnchez2
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IILauraFernandaValdovi
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptxGARCIARAMIREZCESAR
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfMirthaFernandez12
 
Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa  tipos y funcionamientoCaldera Recuperadora de químicos en celulosa  tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa tipos y funcionamientoRobertoAlejandroCast6
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaSHERELYNSAMANTHAPALO1
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacajeremiasnifla
 
SSOMA, seguridad y salud ocupacional. SST
SSOMA, seguridad y salud ocupacional. SSTSSOMA, seguridad y salud ocupacional. SST
SSOMA, seguridad y salud ocupacional. SSTGestorManpower
 

Último (20)

Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusibles
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdf
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdf
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo II
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
 
Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa  tipos y funcionamientoCaldera Recuperadora de químicos en celulosa  tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresa
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpaca
 
SSOMA, seguridad y salud ocupacional. SST
SSOMA, seguridad y salud ocupacional. SSTSSOMA, seguridad y salud ocupacional. SST
SSOMA, seguridad y salud ocupacional. SST
 

Topicos Avanzados de Programacion - Unidad 3 componentes y librerias

  • 1. Ingeniería en Sistemas Computacionales Tópicos Avanzados de Programación Unidad III: Componentes y Librerías Este material está desarrollado para la asignatura Tópicos Avanzados de Programación, de la carrera de Ingeniería en Sistemas Computacionales, plan de estudios ISIC-2010-224 TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 2. Competencia: Diseñar e implementar componentes y librerías. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 3. ¿Qué es una biblioteca o librería? TÓPICOS AVANZADOS DE PROGRAMACIÓN En informática, una biblioteca (del inglés library) es un conjunto de implementaciones de comportamiento, escritas para un lenguaje de programación, que tienen una interfaz bien definida para el comportamiento que se invoca. A diferencia de un programa ejecutable, el comportamiento que implementa una biblioteca no espera ser utilizada de forma autónoma (un programa sí: tiene un punto de entrada principal), sino que su fin es ser utilizada por otros programas, independientes y de forma simultánea.
  • 4. TÓPICOS AVANZADOS DE PROGRAMACIÓN Por otra parte, el comportamiento de una biblioteca no tiene porqué diferenciarse en demasía del que pudiera especificarse en un programa. Es más, unas bibliotecas pueden requerir de otras para funcionar, pues el comportamiento que definen refina, o altera, el comportamiento de la biblioteca original; o bien la hace disponible para otra tecnología o lenguaje de programación.
  • 5. TÓPICOS AVANZADOS DE PROGRAMACIÓN • La mayoría de los sistemas operativos modernos proporcionan bibliotecas que implementan los servicios del sistema. De esta manera, estos servicios se han convertido en una "materia prima" que cualquier aplicación moderna espera que el sistema operativo ofrezca. • Como tal, la mayor parte del código utilizado por las aplicaciones modernas se ofrece en estas bibliotecas.
  • 6. Tipos de bibliotecas Bibliotecas Estáticas: Históricamente, las bibliotecas sólo podían ser estáticas. Una biblioteca estática, también conocido como archivo es un fichero contenedor con varios archivos de código objeto empaquetados, que en el proceso de enlazado durante la compilación serán copiados y relocalizados (si es necesario) en el archivo ejecutable final, junto con el resto de archivos de código objeto. Este proceso, y el archivo ejecutable, se conoce como una construcción estática de la aplicación objetivo. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 7. • En este caso, la biblioteca actúa simplemente como un recipiente para archivos de código objeto que no se diferencian (más que semánticamente) de los archivos objeto intermedios producidos durante la etapa previa de compilación del programa. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 8. • Bibliotecas dinámicas: Las bibliotecas dinámicas, vinculadas dinámicamente, o de vínculos dinámicos son ficheros que contienen código objeto construido de forma independiente a su ubicación de tal modo que están preparadas para poder ser requeridas y cargadas en tiempo de ejecución por cualquier programa, en lugar de tener que ser enlazadas, previamente, en tiempo de compilación. • Por tanto, han de estar disponibles como ficheros independientes al programa ejecutable (generalmente en directorios del sistema). TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 9. Un archivo DLL (Dynamic Library Link) es un módulo componente de un programa que ejecuta alguna función. Estos archivos DLL son muy útiles, pero también suelen ser causa de errores en Windows. Los archivos DLL ejecutan acciones o rutinas de uso frecuente en Windows, y un mismo archivo DLL puede ser usado por varios programas al mismo tiempo (como el Kernel32.dll). Por ejemplo el procesador de palabras, la hoja de cálculo y otros programas pueden usar un mismo archivo DLL para desplegar el cuadro diálogo Abrir, cada vez que usted usa el comando Abrir. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 10. Gracias a ese esquema modular, hay muchas funciones que los creadores de software no tienen que incluir en sus programas; cuando un programa necesita enviar un documento a la impresora, simplemente llama el archivo DLL respectivo (que ya Windows instaló) para que este cargue y ejecute la tarea. De esa forma, los programas son más pequeños y se ahorra espacio en el disco duro. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 11. • El hecho de que estos módulos de rutinas (Archivos DLL) no sean parte de programas, sino que se guardan como archivos independientes, también optimiza el uso de la memoria RAM. • Un DLL se carga en la memoria RAM y se ejecuta únicamente cuando un programa lo llama para que realice una función, mientras que otros módulos de rutinas que sí hacen parte del programa permanecen cargados en la memoria mientras trabaja con un programa. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 12. • Windows incluye muchos archivos DLL que son usados por otros programas (la mayoría en la carpeta c:windowssystem). Pero algunos programas también instalan sus propios archivos DLL (y generalmente los colocan en la carpeta del disco duro en la que está guardado dicho programa). TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 13. Observaciones en el manejo de DLL • Como diferentes programas deben compartir los mismo DLL, si algunos programas no respetan ciertas reglas del juego se pueden producir errores. • A veces uno instala programas que colocan una versión vieja de un archivo DLL en la carpeta c:windowssystem y remplazan -sin avisar- la versión más reciente del mismo DLL. Al hacer eso, es posible que se produzcan fallas en los programas que usaban la versión más reciente del DLL; TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 14. Observaciones en el manejo de DLL Nota: En Windows XP no es posible reemplazar un archivo dll del sistema, ya que este se dará cuenta y automáticamente copiara el DLL correcto de su base de datos, Windows XP se protege de esta manera para evitar conflictos. No todos los archivos DLL tienen extensión .dll; también hay archivos del mismo tipo con extensiones .ocx, .exe, .drv, .vxd, etc. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 15. Cuando Windows le muestre un mensaje de error que dice que le falta un DLL: • Anote el nombre exacto del archivo (incluyendo la extensión), • Busque el archivo en cualquiera de los sitios de Microsoft o del software en cuestión, • Descárguelo y cópielo en la carpeta en la que lo está buscando el programa que generó el mensaje de error (probablemente c:windowssystem o la carpeta en la que está almacenado el programa). • Pruebe su aplicación de nuevo en el punto donde ocurrió el error. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 16. Tenga en cuenta que puede haber versiones diferentes de Archivos DLL, pero con un nombre idéntico. Se recomienda no remplazar un DLL por una versión más vieja (para saber que versión tiene un DLL, busque el archivo, dé clic derecho sobre él, seleccione propiedades y dé clic en la pestaña Versión). Lo mejor es que siempre guarde en un dispositivo extraíble o alguna parte de sus disco duro el DLL que va a reemplazar (incluso aunque sea de una versión más vieja). Uno nunca sabe qué programa lo pueda necesitar. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 17. Windows File Protection [WFP] Windows FIle Protection (WFP) protege los archivos DLL del sistema de ser actualizadas o borradas por agentes no autorizados. Las aplicaciones no pueden sustituir las DLLs del sistema. Únicamente los paquetes de actualización del sistema operativo como los SP (Service Packs) pueden hacer esto. Los archivos DLL del sistema que pueden ser únicamente actualizadas por los Service Pack (SP) se denominan DLLs protegidas. Hay aproximadamente 2800 DLLs protegidas (en Windows XP). TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 18. Windows File Protection [WFP] Si intentamos copiar un archivo DLL idéntico a uno protegido en el directorio del sistema, el reemplazo del archivo DLL, aparentemente, parecerá que es correcta y no veremos ningún mensaje de error. Pero Windows XP recuperarán el archivo DLL recientemente copiado con el archivo DLL original silenciosamente. WFP elimina completamente los errores de los archivos DLL y además minimiza los problemas causados por instalación y/o actualización de aplicaciones. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 19. Pasos para crear una DLL (librería dinámica) • Inicie Visual Studio. • En el menú Archivo, elija Nuevo y haga clic en Proyecto. • En el cuadro de diálogo Nuevo proyecto, en el panel Tipos de proyecto, asegúrese de haber seleccionado Windows. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 20. • En el panel Plantillas, seleccione Aplicación de consola. • En el cuadro Nombre, escriba EjemploDLL y, a continuación, haga clic en Aceptar. Se crea el nuevo proyecto. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 21. • Se creará el código default de la DLL • Crear estructura DLL (libre dependiendo de la aplicación) TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 22. Crear un proyecto independiente (libre dependiendo de la necesidad) • Lo siguiente será crear un proyecto independiente, pero en el que necesitaremos utilizar la Dll que hemos creado. En este caso un proyecto básico del tipo Windows Forms, o bien un proyecto de consola TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 23. Referenciar nuestra Dll (registrar) • Para poder utilizar nuestra Dll, es preciso referenciarla, por lo que iremos a Referencias y añadiremos una nueva Referencia (que no será System, ni Com), si no que iremos a buscarla mediante el browser. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 24. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 25. Ejercicio: Crear biblioteca dinámica que contenga las 4 operaciones matemáticas básicas en números enteros, dicha biblioteca deberá ser referenciada a la aplicación de CALCULADORA que se hizo en la segunda unidad de esta materia, por lo que cada una de esas operaciones deberá realizarse desde la biblioteca a partir de ahora. TÓPICOS AVANZADOS DE PROGRAMACIÓN
  • 26. Proyecto; Crear una aplicación de agenda que contenga los siguientes campos: • Nombre: • Teléfono: • Fecha de Nacimiento: • Red social: Adicionalmente crear una librería con las siguientes características: • Pantalla de login al sistema: debe aceptar usuario y clave. • El usuario y clave puede validarse ya sea por medio de un archivo de texto o por medio de arreglos. • La clave debe contener al menos una letra minúscula, una letra mayúscula, un número, y un carácter especial. TÓPICOS AVANZADOS DE PROGRAMACIÓN La forma de acceder a la agenda es por medio de la pantalla de login al sistema que debe ser llamada desde la librería creada previamente.