Universidad de Antioquia Facultad de Ingeniería Laboratorio de Informática I Prof. Sebastián Isaza Práctica 3 Manejo de GCC y ejecución de programas por consola 1. Objetivos Aprender el uso básico del compilador GCC Ejecutar los programas compilados por medio de la consola 2. Descripción de la práctica En esta práctica se compilarán y ejecutarán algunos programas en lenguaje C, usando el compilador GCC y luego se ejecutarán a través de la consola. La sesión de laboratorio será usada para entender los conceptos relacionados y para aprender a hacer los procedimientos por sí mismos. La evaluación se hará con un quiz en la próxima sesión de laboratorio. 3. Flujo de edición, compilación y ejecución de un programa Para construir un programa se necesitan 3 herramientas como se ilustra en la Figura 1: Un computador con un sistema operativo (Linux en nuestro caso) Un compilador: Linux suele venir con el compilador GCC ya instalado, en el caso de Windows, es necesario descargar alguno. Uno sugerido para Windows es Microsoft Visual Studio. Un editor de texto o entorno de desarrollo (IDE): En Linux (Ubuntu) viene ya instalado un editor gráfico muy popular llamado Gedit, aunque también se puede trabajar con editores de consola como el vim. Los Integrated Development Environment (IDEs) o entornos de desarrollo, poseen la ventaja de integrar el proceso de edición, compilación, depuración y ejecución de una manera amigable para el programador. Algunos de los IDE para C más comunes son Eclipse (este será el que usemos más adelante en el curso), Netbeans y Geany, entre otros. Computador Compilador Editor de texto o IDE Figura 1. Requisitos para compilar programas en C La Figura 2 nos muestra el flujo de edición, compilación y ejecución de un programa. A continuación describiremos cada etapa del flujo en detalle.
Figura 2. Flujo de edición, compilación y ejecución de un programa. a. Ubicarnos en el directorio de trabajo: Para tal fin lo primero que hacemos es abrir la consola. Inicialmente debemos crear una carpeta (con el comando mkdir) en la que vamos a trabajar y ubicarnos (con el comando cd) en ella. Por ejemplo, en la Figura 3 creamos un directorio llamado Lab3 dentro de la carpeta Documents para codificar y probar todos nuestros programas: Figura 3. Ubicación en el directorio de trabajo.
b. Abrir el editor de texto: Hay dos formas de hacer esto, desde el menú de Ubuntu o desde la terminal invocando el nombre del programa: gedit en nuestro caso. La forma más recomendable al abrirlo desde la terminal es hacerlo en background colocando un & después del nombre del editor pues así la consola no se bloquea. La Figura 4 muestra cómo abrir el editor. Figura 4. Abriendo el editor gedit. c. Editar el archivo fuente: Una vez abierto el editor, se codifica el programa y se guarda en la ruta deseada. Para mejor organización, el nombre del archivo con el código fuente del programa debe terminar en.c. En la siguiente figura se muestra esto. Nótese que el nombre dado aquí fue ejemplo1.c: Figura 5. Edición del programa empleando el editor gedit.
Después de que el programa se editó, verifique que sí se haya guardado en el directorio de trabajo. Use el comando ls como se muestra en la Figura 6. Figura 6. Verificación de que el archivo fuente se encuentre en la carpeta de interés. d. Compilar el programa: Para compilar el código fuente se invoca el programa gcc de la siguiente manera: gcc archivofuente o nombreejecutable Donde: archivofuente: Archivo de extensión.c que será compilado. nombreejecutable: Nombre del ejecutable generado tras la ejecución del comando. La anterior forma de uso del comando gcc, es una de las más comunes para compilar un archivo fuente (archivo.c) de modo que se genera un ejecutable con nombre dado por nombreejecutable. Sin embargo este comando permite muchas más posibilidades, algunas de éstas pueden ser consultadas en: http://www.mhe.es/universidad/informatica/8448198441/archivos/apendice_general_1.pdf Figura 7. Compilación del programa ejemplo1.c En la Figura 7 se muestra el empleo de este comando en nuestro caso particular. Nótese que archivofuente=ejemplo1.c y nombreejecutable=exe1 para nuestro caso. Es común que el programa en cuestión tenga errores de sintaxis, en cuyo caso el compilador se detiene, indica los errores y no genera el ejecutable; de este modo, si hay un error, se debe corregir en el editor y volver a intentar compilar. Cuando no hay errores, el compilador generará el ejecutable (ver Figura 8).
Figura 8. Verificación de la compilación del programa e. Ejecutar el programa: Para ejecutar el programa generado se escribe el nombre del ejecutable antecedido por./. En este ejemplo, como el ejecutable se llama ejecutable, entonces para su ejecución escribimos./ejecutable como se muestra en la Figura 9. Figura 9. Ejecución del programa. 4. Más opciones de compilación y ejecución de programas Explore las siguientes opciones de compilación y ejecución de programas con los archivos adicionales dados por el profesor. gcc source.c lm o binary gcc source.c O3 o binary time./binary./binary < inputfile.txt./binary > outputfile.txt 5. Evaluación Al inicio de la próxima sesión de laboratorio se realizará un quiz sobre lo estudiado en esta práctica. Créditos: Esta guía de laboratorio es una modificación de una guía hecha por Henry Arcila.