Este sitio web usa cookies de terceros para analizar el tráfico y personalizar los anuncios. Si no está de acuerdo, abandone el sitio y no siga navegando por él. ×


1.4 - ¿Cómo crear y lanzar un programa en C?

1.4.1. Pasos generales para probar un programa

Hay varios pasos que deberemos seguir para crear un programa en C, convertirlo en un ejecutable y probarlo.

  1. Escribir el programa en lenguaje C (fichero fuente), con cualquier editor de textos.
  2. Compilarlo usando un compilador. Esto creará un "fichero objeto", ya convertido a un lenguaje que el ordenador es capaz de entender, pero que todavía no es utilizable.
  3. Enlazarlo con otros ficheros del compilador, unas bibliotecas auxiliares que añadirán a nuestro programa aquellas posibilidades que hayamos empleado nosotros pero que realmente no sean parte del lenguaje C básico, sino ampliaciones de algún tipo (como las órdenes de escritura en pantalla). Esto dará lugar al fichero ejecutable, que ya podremos usar desde el sistema operativo, ya sea en nuestro ordenador o en cualquier otro que tenga el mismo sistema operativo (aunque ese otro ordenador no tenga el compilador que nosotros hemos utilizado).

Muchos entornos de programación actuales nos permiten dar todos estos pasos desde un editor avanzado, en el que podemos escribir nuestros programas, compilarlos para obtener un ejecutable, y depurarlos en caso de encontrar algún fallo.

Es recomendable usar Linux para aprender a programar en C. Con frecuencia, los compiladores para otros sistemas están anticuados o respetan poco los estándares. Quizá (y sólo quizá) el sistema te parezca menos amigable que un Windows o un Mac, pero a cambio las herramientas de programación más habituales están instaladas desde el primer momento, y las menos habituales se pueden instalar en un par de clics desde "repositorios" oficiales.

Ni siquiera necesitas tener un ordenador equipado con Linux, ni varias particiones con varios sistemas operativos: puedes utilizar un gestor de máquinas virtuales, como VirtualBox, que es bueno y gratis. Para probar los ejemplos del curso yo usaré VirtualBox y una máquina virtual de una versión reciente de Linux Mint, que es una distribución basada en Ubuntu pero con entornos más tradicionales, más parecidos a "los Windows de toda la vida". En concreto usaré un Linux Mint 17.2 con el escritorio llamado Cinnamon, que es una evolución del clásico Gnome. En el apéndice 1.1 tienes información sobre cómo instalar una máquina virtual con Linux.

Si eres miedoso/miedosa (¿y entonces qué haces aprendiendo C?) y quieres usar Windows, en el apartado 1.4.3 tienes las ideas básicas, y en un apéndice al final del texto tendrás detalles de cómo usar algún entorno reciente para Windows (no, no uses Dev-C++ 4.9.9.2, que está muy extendido pero tiene un compilador del año 2005, que no soporta las características añadidas recientemente al lenguaje C y además es poco exhaustivo con los mensajes de error y de aviso).

1.4.2. Nociones básicas de compilación en Linux

El primer paso será teclear nuestro fuente, usando el editor incorporado en el sistema, y guardarlo, con un nombre terminado en ".c", como "ejemplo.c".

Después abriremos un "terminal" y compilaremos el fuente tecleando algo como:

cc ejemplo.c –o ejemplo

Donde:

Y para probar el programa teclearíamos

./ejemplo

Con lo que debería aparecer escrito "Hola" en la pantalla.

En el apéndice 1.2 tienes más detalles y en el 1.3 encontrarás información sobre cómo usar Geany para poder compilar y ejecutar desde el propio editor, de una forma más amigable.

1.4.3. Nociones básicas de compilación en Windows

Windows no incluye un compilador de C. El editor de texto que incorpora el sistema (el "bloc de notas") es muy inferior a los editores que incorporan los sistemas Linux. Existen algunos entornos de desarrollo que se pueden descargar e instalar, pero...

Si aun así, por algún motivo misterioso, quieres ser un gurú de la programación en C que le tenga miedo a Linux, puedes probar a instalar "Orwell Dev-C++". Incluye una versión reciente del compilador, un editor decente y hace una pausa tras lanzar cada programa, para poder comprobar que ha funcionado correctamente.

 

En el apéndice 1.4 podrás ver los pasos de instalación y detalles básicos de su uso.

1.4.4. ¡No veo lo que hace mi programa!

Es uno de los problemas más habituales del principiante, y el motivo es usar un entorno que no sea ninguno de los recomendados, y que no haga una pausa al final de la ejecución del programa. Por ejemplo, eso puede ocurrir con el antiguo Turbo C 2.01 del año 1988:

También ocurre con las versiones antiguas de Dev-C++ y con algunas de CodeLite. En ocasiones existen soluciones dentro del entorno, como la opción "User Screen" de Turbo C, pero una solución (mala) que funcionará en casi cualquier caso es añadir la orden "getchar()" al final del programa, antes de "return 0", para esperar a que se pulse Intro. Es algo que nunca debería formar parte de un programa terminado, pero que puede ayudar durante la fase de creación de un programa. Dentro de poco veremos más detalles sobre "getchar".

/* Ejemplo en C: mostrar un texto y hacer pausa - ej010401.c */

#include 
 
int main() 
{
    printf("Hola");
    getchar();       /* Pausa. No usar en un programa terminado */
    return 0;
}