Imprimir

Manual de C/C++ en Linux: Lo más básico

C y C++ son sin duda los lenguajes de programación más extendidos:

  • C: "el lenguaje", creado para programar Sistemas Operativos, permite hacer todo tipo de cosas.
  • C++: C con objetos, un superconjunto de C.

Vamos a ver algunos conceptos básicos para programar en C/C++.

'Hola mundo' en C

El programa de C más sencillo es el programa Hola mundo que sólo utiliza funciones de la librería estándar stdio.h. El contenido de hello.c es el siguiente:

/* programa Hola mundo */
#include <stdio.h>
int main() {
    printf("Hola mundo\n");
    return 0;
}

Los archivos fuente no pueden ejecutarse ya que el ordenador no los entiende. Para conseguir un archivo ejecutable hay que compilarlo, es decir, traducir el código fuente a código ejecutable que sí es comprensible para el ordenador: ese es el trabajo que hacen los compiladores. El código ejecutable es diferente para cada tipo de procesador y para cada Sistema Operativo por lo que existen diferentes compiladores para diferentes Sistemas Operativos y procesadores.

Compilaremos el programa hello.c empleando el compilador de línea de comandos del GNU GCC (GNU C Compiler, comando gcc, paquete gcc) de la siguiente forma:

$ gcc hello.c

Si hay errores de sintaxis en el programa el compilador se detendrá y se quejará. Si la compilación termina con éxito obtendremos en el directorio actual el archivo a.out, el ejecutable. Si para ejecutarlo hacemos:

$ a.out
bash: a.out: command not found

no se ejecutará. El motivo es que, por seguridad, Linux sólo busca ejecutables en determinados directorios, los que figuran en la variable de entorno PATH, cuyo contenido es:

$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games

Como nuestro directorio actual no está en el PATH (ni debe estar por seguridad), para ejecutar nuestro programa tenemos que incluir la ruta. Este comando sí ejecutará nuestro programa:

$ ./a.out
Hola mundo

Para que el ejecutable tenga un nombre más significativo, como hello, haremos:

$ gcc -o hello hello.c

Para ejecutarlo haremos:

$ ./hello
Hola mundo

6 Comentarios en “Manual de C/C++ en Linux: Lo más básico”

  • Carlos Alcala dice:

    Excelente articulo sobre el uso de las herramientas de codificacion, debug y make. Suerte y sigue adelante.

  • albert dice:

    Un diez!!
    Muy bueno el articulo. Te animo hacer muchos miniHOWTO mas.

  • jony dice:

    Muy muy bueno, solo la última parte se podria modificar para aplicar al Hello todo el proceso de autoconfig, make, etc… y aclararlo.
    Del resto, me parece muy buen mini Tutorial :)

  • Chao dice:

    Buenas tardes, he comprado una tarjeta de adquisición de datos y estoy programando en C con el compilador gcc. Esta tarjeta trae una serie de funciones que se pueden usar, pero todas ellas vienen en una libreria llamada ADDIDATA.LIB, como puedo compilar para que me funcionen estas funciones.

    Gracias, por favor contestad al correo: el_chao[arroba]hotmail.com GRACIAS A TODOS!!!!!!!

  • vvelazquezr dice:

    HOLA… MUY INTERESANTE TU MINI-WHOTO… PERO TENGO UNA DUDA… PUEDO REALIZAR UN EJECUTABLE (.EXE) DE UN PROGRAMA COMPILADO CON GCC PARA ALGUNA OTRA PLATAFORMA, POR EJEMPLO PARA WINDOWS?

    TE COMENTO UN POCO MAS… SE TRATA SOBRE SOCKTES REALIZADO EN LINUX QUE UTILIZA LIBRERIAS PROPIAS DE LINUX, MOTIVO POR EL CUAL NO LO PUEDO EJECUTAR CON ALGUN COMPILADOR DESDE WINDOS.

    ES ESTO POSIBLE O DE QUE FORMA LO PODRIA RESOLVER?

  • crash-n-burn dice:

    vvelazquezr, creo que lo que buscas es MinGW (Minimalist GNU for Windows), una implementación de GCC para Windows que permite generar ejecutables .exe

Deja un comentario