10
Distribuida solo en Venezuela. Prohibida su venta.

Revista electrónica Iacobucci

Embed Size (px)

DESCRIPTION

Código Fuente Líbrerias Debugging

Citation preview

Page 1: Revista electrónica Iacobucci

Distribuida solo en Venezuela. Prohibida su venta.

Page 2: Revista electrónica Iacobucci

Distribuida solo en Venezuela. Prohibida su venta.

15/07/2013

Í n d i c e

Localización y reparación de errores Depuración de Sentencias Depuración de Bucles Depuración de Sub-programas Errores Tipos de Errores

Documentación de Código Fuentes

Comentarios

Nomenclaturas

Estándares de presentación de

código fuente

Estructura de Código Fuente

Librerías

Definición Ventajas y Desventajas Creación de Librerías Utilización de Librerías

Debugging

Page 3: Revista electrónica Iacobucci

Para escribir un Código Fuente, debemos tener en cuenta que se debe seguir una estructura. El código fuente de un programa informático o software es un conjunto de líneas de texto que son las instrucciones que debe seguir la

computadora para ejecutar el programa. El código fuente de un programa que está escrito por un programador en algún lenguaje de programación debe ser traducido a otro lenguaje máquina o código objeto que pueda

ser ejecutado por el hardware de la computadora usando los compiladores, ensambladores, intérpretes y otros sistemas de traducción.

Page 4: Revista electrónica Iacobucci

Documentar es añadir suficiente información como para explicar lo que hace, punto por punto, de forma que no sólo los ordenadores sepan qué hacer, sino que nosotros los seres humanos entendamos qué estamos haciendo y por qué. Documentar un programa es una necesidad que sólo se aprecia en su debida magnitud cuando hay errores que reparar o hay que extender el programa con nuevas capacidades o adaptarlo a un nuevo escenario. Hay dos reglas que no se deben olvidar:

Una es Todo programa tienen errores Y Todo programa sufren modificaciones a lo largo de su vida.

Por una u otra razón, todo programa que tenga éxito será modificado en el futuro, bien por el programador original, bien por otro programador que le sustituya. Pensando en esta revisión de código es por lo que es importante que el programa se entienda: para poder repararlo y modificarlo.

Page 5: Revista electrónica Iacobucci

En la programación de computadoras, un comentario es una construcción del lenguaje de programación destinada a colocar anotaciones legibles al programador en el código fuente de un Programa informático. Estas anotaciones son significativas, pero ignorados por los compiladores e intérpretes. Los comentarios son añadidos con el propósito de hacer el código fuente más fácil de entender con vistas a su mantenimiento o reutilización. La sintaxis y reglas para los comentarios varían y usualmente son definidas en la especificación del lenguaje de programación.

Los identificadores tanto de variables como de clases, funciones y procedimientos constituyen una buena parte del código. Su elección es muy importante ya que normalizan el código, y ayudan a entender el significado real de las acciones que realizan.

Page 6: Revista electrónica Iacobucci

El código fuente, y no solamente su interpretación por un agente de usuario, es un componente de la calidad de un sitio. Tecnologías implicadas:

Editores de páginas Sistemas de gestión de contenidos Agentes de usuario

Deben ser conscientes de aspectos técnicos que antes podían obviar o impedir que editen código fuente Problemas generalizados con editores anteriores al año 2005 Dificultades técnicas Altos costes en tiempo o en dinero (o ambos)

Page 7: Revista electrónica Iacobucci

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. Una biblioteca 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. La mayoría de los sistemas operativos modernos proporcionan bibliotecas que implementan los servicios del sistema.

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 fichero ejecutable final, junto con el resto de ficheros de código objeto.

Este proceso, y el archivo ejecutable, se conoce como una construcción estática de la aplicación objetivo. En este caso, la biblioteca actúa simplemente como un recipiente para ficheros de código objeto que no se diferencian (más que semánticamente) de los ficheros objeto intermedios producidos durante la etapa previa de compilación del programa.

Page 8: Revista electrónica Iacobucci

Librería Estática Para crear una librería estática se debe seguir los siguientes parámetros: •Codificar los módulos de la forma habitual. •Obtener los ficheros objeto utilizando el compilador. •Empaquetar los ficheros objeto que integran la librería por medio de la utilidad ar. Por convenio, los nombres de todas las librerías estáticas comienzan por lib y tienen .a por extensión. Aunque estas restricciones no son obligatorias, es poco recomendable saltárselas pues el entorno ofrece facilidades de uso si se siguen dichas normas. Disponemos de los ficheros fich1.c y fich2.c que contienen el código de las funciones que deseamos incluir en la librería libfich.a. Para obtener los ficheros objeto compilamos como siempre

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

Desventajas Estática: Se duplica código. El mantenimiento es difícil.

Dinámica: Enlace en tiempo de ejecución, con pérdida de eficiencia en la ejecución del

programa que la utiliza.

Librería dinámica La creación de librerías dinámicas corre a cargo del enlazador o montador (en nuestro caso el ld) aunque también es posible indicar al compilador las opciones necesarias para el montaje y de ese modo, será él quien se encargue de pasarlas al montador.

•En el ejemplo se supone que la librería y su fichero de interfaz se encuentran en un directorio llamado dir_lib. •La opción -I se usa para indicar donde se encuentran ficheros de interfaz. •La opción -L sirve para indicar el directorio donde se encuentra la librería. •La opción -l es para indicar los nombres de la librerías que se van a usar, pero no debe escribirse ni el prefijo lib ni la extensión .a ya que el compilador espera que se sigan las normas de nombrado anteriormente citadas.

Consideraciones:

Page 9: Revista electrónica Iacobucci

Depuración de programas es el proceso de identificar y corregir errores de programación. En inglés se le conoce como Debugging, es que se asemeja a la eliminación de bichos (bugs), manera en que se conoce informalmente a los errores de programación. Se dice que el término bug proviene de la época de los ordenadores de válvula termoiónica, en los cuales los problemas se generaban por los insectos que eran atraídos por las luces y estropeaban el equipo

Localización del error Probablemente depurar un programa sea siempre un arte y requiera del ingeniero intuición y fortuna; pero la labor puede ser tan penosa que toda ayuda y apoyo es de agradecer.

Dentro de la filosofía de que depurar es un arte, y bajo la (errónea) suposición de que un error corregido ya no será error nunca más, es frecuente encontrar al programador ejecutando el programa paso a paso ("con el debugger") y apuntando en una hoja de papel los valores que van tomando las variables, hasta que se detecta el error y se corrige.

Page 10: Revista electrónica Iacobucci

http://www.alfa.une.edu.ve/une/