- Estréllate y Arde - https://www.estrellateyarde.org -

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

Article printed from Estréllate y Arde: https://www.estrellateyarde.org

URL to article: https://www.estrellateyarde.org/discover/manual-c-en-linux

Copyright © 2010 Estrellate y Arde