Home
Username:
Password:
C Programming (Español) Tutorials

Proceso de Compilación / Soluciones del Capítulo 12




Visitors to VTC.com will be able to view all introductory videos for each training course.
Free Trial Members will gain access to first three chapters for each training course.
Full Access Members have full access to VTC.com’s entire library of video tutorials.


Learn More

Subtitles of the Movie

No vimos mucho en este capitulo, asi que veamos las soluciones. Usted seguramente sabra ahora si el programa se compila y funciona correctamenteÉ y cualquier problema presentado tendra que ver con la compilacion en una sola accion. Tal vez usted intento compilar cada archivo ".c" por separado para obtener un archivo ".o"É y luego vincular los archivos ".o" en un programa ejecutable. O tal vez intento compilar y vincular los archivos ".o" en un programa ejecutable en una sola operacion. No importa como lo hizo porque depende del compilador utilizado. Espero que este capitulo haya proveido la suficiente informacion conceptualÉ de manera que podamos revisar este procedimiento en la documentacion del compilador. Ya que cada compilador es diferente, veamos como lo he hecho en este caso. Este es el programa Dev C++ que he configurado para no procesar un solo archivo ".c"É sino todo el proyecto que tenemos aqui. Obviamente lo he llamado "CD" y contiene 5 archivos: 4 archivos ".c" y 1 archivo ".h". Al hacer clic en cada uno podemos ver su contenido. Primero veamos el archivo "main.c". Observe que este solo contiene la funcion "main", asi que todas las funciones referenciadas en ella como "yesno", "read_cd", "print_cd" y "enter"É se encuentran en otros archivos. ÀComo sabe el compilador donde ubicarlos? De esto se encargan los vinculadoresÉ que saben que estos archivos ".c" seran vinculados entre si. Estos buscan las funciones como "print_cd" dentro de cada uno de estos 4 archivosÉ durante la fase de vinculacion. Veamos los otros archivos. El archivo "utils.c" es muy sencillo porque solo contiene la funcion de eliminacion de la nueva linea. El archivo "output.c" tambien es muy sencillo porque solo contiene la funcion "print_cd". Aqui tenemos de nuevo la etiqueta "NOARTIST". Recuerde que estaÉ desactiva la funcionalidad relacionada con el artista en el programa. Para aprovechar esa linea "#ifndef NOARTIST"É debemos crear una directiva "#define NOARTIST" en algun lugar del codigo. ÀEn donde la ubicamos? ÀLo hacemos en cada uno de los archivos ".c"? Por supuesto que no porque estariamos duplicando el codigo. Solo la ubicamos en el archivo "database.h"É o mediante el menu "Project>Project Options" en el compiladorÉ podemos ubicarla en el campo "Extra compiler options (only for this project)". Simplemente escribimos "-D NOARTIST" y ya veremos si funciona. El archivo "input.c" es probablemente el mas extenso de todo el proyectoÉ porque contiene las funciones "enter", "yesno", "read_int", "read_float", "read_string" y "read_cd". Este es todo el archivo. Regresamos a la ventana de administracion del proyectoÉ y observe que tenemos el mismo boton utilizado para compilar el proyecto. Este compilara cada uno de los 4 archivos ".c" de este proyecto. Hacemos clic en el, se completa la compilacion y no obtenemos errores. Este proceso consta de la pre-compilacion, la compilacion real y la vinculacion, todo en una sola accion. Si queremos revisar este proceso apropiadamente, podemos hacer clic en la etiqueta "Compile Log" que nos indicaÉ que se han vinculado estos diferentes archivos. No veremos cada linea de forma individual, pero este es el proceso realizado. Observe que aqui tenemos un archivo ".o". Este archivo ".c" se compilo con ese archivo ".o" y han sido vinculados entre si. Este archivo es nuevo. Vamos a ejecutar el proyecto para ver si funciona. Vamos a revisar 2 aspectos: que el programa funcioneÉ como antes, pues no hemos modificado mucho el proyecto en si, y que la informacion del artista debe estar completamente desactivada. Veamos. Ingresamos "y", el titulo "Hello", no se nos solicita la informacion del artista, 4 pistas, "y" para indicar que el CD es un album y un precio de 4 dolares. No vamos a ingresar mas CDsÉ y no aparece la informacion del artista. El programa funciona como antes aunque ha sido dividido en 4 archivos ".c" separados. ÀUsted tambien logro obtener esta funcionalidad?

Tutorial Information

Course: C Programming (Español)
Author: Mark Virtue
SKU: 33759
ISBN: 1-933736-81-X
Release Date: 2007-04-16
Duration: 21.5 hrs / 139 lessons
Captions: Available on CD and Online University
Compatibility: Vista/XP/2000, OS X, Linux
QuickTime 7, Flash 8

VTC Sign up & Benefits

  • Unlimited Access
  • 98,729 Video Tutorials (23,265 free)
  • Video Available as Flash or QuickTime
  • Over 1026 Courses
  • $30 for One Month Access
  • Multi-User Discounts Available