Sunday, January 7, 2007

Hello World en C usando GCC en Linux.

Estaremos desarrollando una aplicacion "Hello World" en linux usando el compilador de GNU llamado GCC. Tocaremos lo siguientes topicos:
  • Manejo de directorios usando los comandos mkdir y ls
  • Introduccion a programación con C
  • Compilación en linea de comando usando gcc
Primero debemos crear la carpeta donde colocaremos nuestros fuentes, para eso usaremos el comando mkdir. Ahora: Donde se crearan los directorios? Cada usuario en Linux(No solo en ubuntu) posee una carpeta personal donde de encuentran los archivos de Escritorio y configuraciones, esa carpeta es /home/{suNombreDeUsuario}. Al igual que en windows, su carpeta personal estara en C:\Documents And Settings\{suNombreDeUsuario}. Si no ha ejecutando un comando "cd" para navegar entre carpetas, usted debe estar en /home/{suNombreDeUsuario} De todas formas para confirmarlo, puede usar el siguiente comando para saber en que carpeta se encuentra en este momento:
echo $PWD
Yo ejecute el comando y me dio el siguiente resultado:
 /home/johan-root
Esto debido a que mi nombre de usuario es "johan-root". Ahora procedamos a crear nuestra carpeta para almacenar los archivos para compilar nuestra aplicacion HelloWorld.
 mkdir helloWorldC
(Si quiere comprobar si se creo la carpeta use el comando "ls") Ahora entramos en la carpeta creada usando el comando "cd":
 cd helloWorldC/
(Tip: al igual que en DOS siempre podemos usar la tecla TAB para completar el nombre de la carpeta, en este caso simplemente escribiendo "hello" y pulsando la tecla dada se completara el nombre del directorio completo) ahora utilizaremos el editor de texto de Gnome para editar nuestro archivo fuente llamado "main.c":
 gedit main.c
Ahora pegamos el siguiente codigo fuente en nuestro archivo en edición:
#include<stdio.h>

int main(int arg_count,char ** arg_values)
{
 printf("Hello World\n");
 return 0;
}
Ahora guardamos el archivo y procedemos a compilar.
 gcc -o helloWorld main.c
Cuando la compilación de un programa usando gcc es satisfactoria, el comando no arroja resultado. Si no arrojo resultado quiere decir que se compilo el programa y se encuentra en el archivo "helloWorld". Ahora solo tenemos que ejecutarlo:
 ./helloWorld
El resultado deberia ser el siguiente:
HelloWorld

6 comments:

Anonymous said...

Felicitaciones por el artículo Johan,

Sin embargo quisiera añadir que el programa no se podrá compilar si no se instalan las librerias del gcc,por ejemplo: build-essential,etc. No en toda instalación están por defecto.

Una simple llamada a una función de stdio.h, no siempre mostrará un mensage de error.
Asi que habrá que recurrir a
programas como:
apt-get, yum, etc. según la distribución de Linux. Para instalarlos.

Bueno fuera si aclarás, profundizas sobre el tema de las librerias.

saludos,

keylogger@cromosoft.com

wwww.cromosoft.com

Anonymous said...

Excelente articulo(Hola mundo) muy bueno para introducir las personas al mundo linux
Como se menciono en el articulo anterior en mi distribución (Ubuntu) las librerías no estaban incluidas por ende hago aquí un pequeño esquema de como instalarlas. Se cabe destacar que es necesario tener una conexion a internet para descargar los componentes necesarios
Pasos:
1)Entrar a consola (Hacer clic sobre el icono con un monitor en la parte inferior al lado de ítem sistema)

2) cambiar a usuario root con el comando : su root
debes ingresar la clave del root

3)Como usuario root
ingresa los siguientes comandos en consola:

apt-get install build-essential

para ver si esta bien instala trata de correr el ejemplo anterior del excelente articulo debería funcionar po rlo menos a mi me funciono
y para cambiar a usuario de antes hacer escribir el siguiente comando :
su usuariodeantes

Gracias y saludos

Anonymous said...

Excelente articulo(Hola mundo) muy bueno para introducir las personas al mundo linux
Como se menciono en el articulo anterior en mi distribución (Ubuntu) las librerías no estaban incluidas por ende hago aquí un pequeño esquema de como instalarlas. Se cabe destacar que es necesario tener una conexion a internet para descargar los componentes necesarios
Pasos:
1)Entrar a consola (Hacer clic sobre el icono con un monitor en la parte inferior al lado de item sistema)

2) cambiar a usuario root con el comando : su root
debes ingresar la clave del root

3)Como usuario root
ingresa los siguientes comandos en consola:

apt-get install build-essential

para ver si esta bien instala trata de correr el ejemplo anterior del excelente articulo deberia funcionar po rlo menos a mi me funciono
y para cambiar a usuario de antes hacer escribir el siguiente comando :
su usuariodeantes

Gracias y saludos

Anonymous said...

Excelente articulo(Hola mundo) muy bueno para introducir las personas al mundo linux
Como se menciono en el articulo anterior en mi distribución (Ubuntu) las librerías no estaban incluidas por ende hago aquí un pequeño esquema de como instalarlas. Se cabe destacar que es necesario tener una conexion a internet para descargar los componentes necesarios
Pasos:
1)Entrar a consola (Hacer clic sobre el icono con un monitor en la parte inferior al lado de item sistema)

2) cambiar a usuario root con el comando : su root
debes ingresar la clave del root

3)Como usuario root
ingresa los siguientes comandos en consola:

apt-get install build-essential

para ver si esta bien instala trata de correr el ejemplo anterior del excelente articulo deberia funcionar po rlo menos a mi me funciono
y para cambiar a usuario de antes hacer escribir el siguiente comando :
su usuariodeantes

Gracias y saludos

Guille said...

me podrías explicar qué significan los parámetros que ponés después del main?

estoy cursando una materia de programación y me gustaría probar mis ejercicios en clase, pero necesito saber qué son esos parámetros para aplicarlos según sea necesario en los ejercicios que me dan.

Anonymous said...

para mandriva creo que se instalaba todo el entorno para poder compilar con un simple metapaquete. os dejo el enlace por si algún mandrivero pasa por aquí, me parece curioso que el compilador no venga preinstalado, durante mucho tiempo me preguntaba porqué no conseguía compilar nada, y resultó ser el fallo más tonto de todos....en fin, cosas de los que aprendemos dando palos de ciego. Pero espero que mi experiencia pueda servirle a alguien. allá va el enlace:

http://mandriva-es.foroes.net/manuales-f4/como-compilar-programas-con-ejemplo-t12.htm