Iniciando a programar en C y C++ desde cero en Ubuntu...

Imagen de catrip
0 puntos

Sé que muchos de ustedes son programadores, pero muchos también inician en este tema de la programación.

Algunos usuarios que se inician, siempre preguntan ¿Cómo programar en C y/o C++ en Ubuntu?, así que aquí les dejo un "pequeño" tutorial para que puedan aprender.

ANTES DE INICIAR

Tenemos que instalar build-essential, ya que esta es una lista informativa de paquetes esenciales para poder compilar (voy a poner todo lo necesario teniendo en cuenta a los usuarios muy novatos que quieran programar), de esta manera:

Esto lo escribes en terminal, presionas ALT + F2 y en el cuadro que te aparece escribes gnome-terminal y presionas Enter

sudo apt-get install build-essential 

Te pedirá una contraseña, que es la que utilizas para "entrar" a Ubuntu

(Ojo, si tienes el CD de Ubuntu, mételo en la unidad de CD o DVD, el que tengas y te dirá si quieres abrir el gestor de paquetes, le das clic en esta opción y se abrirá synaptic, entonces buscas build-essential y lo marcas para intalar, clic con el botón derecho y marcar para instalar, eso si, desconecta por este momento la conexión a Internet, para que descargue los paquetes desde el CD y no de Internet, das clic en el botón aplicar, que se encuentra en la barra de herramientas, esperas un rato y listo)

Si todo marcho a la perfección, ya estamos listos para programar

 

LENGUAJE C EN UBUNTU 

1.- Abres terminal (como te explique mas arriba) y haces lo siguiente (para iniciar, solo usaremos consola, aunque existen otras alternativas gráficas como Anjuta, Code::Blocks, Eclipse, etc...):

usuario@equipo:~$ pico ejemplo.c

(usuario y equipo dependen de tu equipo, los pongo para referencia) 

(En este ejemplo uso el editor pico, y el archivo que voy a crear es el ejemplo.c)

Se va a "limpiar" la terminal y ahí puedes poner el código para tu programa, en este caso voy a hacer el famoso "Hola mundo"

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

Una vez terminado, oprimes CONTROL + O (Es O, no un cero)para indicar que lo vamos a guardar, la terminal te va a decir si realmente quieres guardarlo con este nombre (en este caso ejemplo.c) y para indicar que si, basta con apretar Enter, ahora a salir de este editor con un CONTROL + X y regresas a terminal, ahora para compilarlo, tienes que escribir en terminal:

gcc ejemplo.c -o ejemplo 

Con esto le indicamos que vamos a compilar el archivo ejemplo.c con el compilador gcc, que es el utilizado en Linux para C, y que a la salida (-o, ojo, no es un cero, es una o) de el ejecutable ejemplo.

Ahora bien, a ejecutar nuestro programa con un:

./ejemplo 

Desde terminal y obtenemos esto:

usuario@equipo:~$ ./ejemplo

Hola mundo

Te pongo este otro que suma 2 números:

En terminal escribimos:

pico suma.c 

Y en el editor ponemos este código:

#include <stdio.h>
int x,y,z;
int main(){
printf("Dame el primer numero: ");
scanf("%d",&x);
printf("\n");
printf("Dame el segundo numero: ");
scanf("%d",&y);
z=x+y;
printf("\n\n El resultado de la suma es :%d\n",z);
return 0;
}

Lo guardamos con CONTROL + O, presionamos Enter y salimos con CONTROL + X.

Lo compilamos y creamos el ejecutable:

gcc suma.c -o suma 

Ahora lo ejecutamos:

./suma 

Y este es el resultado (voy a sumar 88 mas 77) :

usuario@equipo:~$ ./suma
Dame el primer numero: 88

Dame el segundo numero: 77

El resultado de la suma es: 165

Todo esto lo hemos hecho desde la carpeta personal, por lo tanto los archivos se encuentran ahí, tanto el código fuente (los archivos con extensión .c) como los ejecutables (los archivos que llevan el mismo nombre que los del código fuente pero sin extensión)

 

LENGUAJE C++ EN UBUNTU 

Para poder programar en C++, lo único que tenemos que hacer de diferente respecto a la compilación con C, es utilizar el compilador g++ en lugar de gcc, y darle el nombre adecuado a los archivos que contienen el código fuente, por ejemplo, voy a compilar el famoso "Hola Mundo", ahora en C++, queda de esta manera:

usuario@equipo:~$ pico ejemplo.cpp
(En este ejemplo uso el editor pico, y el archivo que voy a crear es el ejemplo.cpp)

Si notas la diferencia, uso la extensión cpp para indicar la diferencia con los archivos de C, aunque en general se puede utilizar cualquier extensión, no tiene que ser cpp o c.

En teminal pongo el código:

#include <iostream>
using namespace std;
int main (){
cout<<"\nHola mundo\n";
return 0;
}

Y lo guardamos de la misma manera que los archivos de C.

Ahora lo vamos a compilar y crear el ejecutable:

g++ ejemplo.cpp -o ejemplo 

Con esto le indicamos que vamos a compilar el archivo ejemplo.cpp con el compilador g++, que es el utilizado en Linux para C++, y que a la salida (-o, ojo, no es un cero, es una o) de el ejecutable ejemplo.

Ahora bien, a ejecutar nuestro programa con un:

./ejemplo 

Desde terminal y obtenemos esto:

usuario@equipo:~$ ./ejemplo

Hola mundo

Cabe decir que los programas son compilados y ejecutados en consola, así como el resultado aparece también en consola.

 

COMPATIBILIDAD ENTRE PROGRAMAS REALIZADOS EN UBUNTU CON WINDOWS Y VICEVERSA

Después de realizar nuestros programas en Ubuntu, estos NO FUNCIONARÁN en Windows, un ejecutable de Ubuntu solo lo será para las distribuciones Linux, en Windows NO.

Si se deseas que un programa realizado en Ubuntu funcione en Windows será necesario volver a compilar el código fuente, yo recomiendo DevC++ para dicha tarea (Pongo el Link para la descarga directa de DevC++ para Windows), aunque debo decir que solo será posible si se utilizan las librerias estándar para lograr la compatibilidad, pero al iniciar solo se utilizan dichas librerias.

Caso contrario, si un programa fué realizado en Windows, solo bastará con recompilar dicho programa mediante terminal, eso si, el archivo con el código fuente debe estar, de preferencia para evitar mas trabajo, en la carpeta personal.



Espero que les sea de utilidad, no olviden que el programar es como aprender a manejar, al principio es difícil, pero con mucha práctica se adquiere destreza...
Imagen de saguilera85
+1
0
-1

Mi estimado excelente tuto!!!! yo estoy aprendiendo a programar de forma empírica (creo que la mayoría aprende así jijiji) y la información que presentas me sirvió de mucho, solo tengo una duda, los programas que que se crean en c, solo se pueden ejecutar desde terminal?? porque una vez que se compila el programa etc, me crea dos archivos uno que tiene terminación .c (es gedit) y otro que es ejecutable, pero cuando le doy doble clic a la aplicación no sucede nada, sin embargo lo puedo ejecutar desde terminal sin problema alguno. Bueno sin mas por aportar muchas gracias por la ayuda.

Saludos!!!!

+1
0
-1
Imagen de Hackmundy
+1
0
-1

Gracias exelente aporte, Yo soy nuevo en ubuntu 11.04 recien estoy entrando en este mundo espero poder aprender mucho y despues ayudar a todos.
Gracias exelente tutorial yo que recien comienzo.. xD

Saludos...

+1
0
-1
Imagen de Joseseo
+1
0
-1

Muchas gracias por la información, justo estoy haciendo un trabajo y lo necesitaba para terminar unas cosas inconclusas que tenia. la mejor de las maneras para empezar en el mundo de la programación en lenguajes estructurados es con un IDE del tipo CodeBLocks

Saludos y muchas gracias

+1
0
-1
Imagen de simondf
+1
0
-1

Bonito Tutorial. Me pueden ayudar a conseguir información de como abrir un puerto TCP. Quiero hacer una pequeña HMI comunicandoce con PLC's por medio de diferentes protocolos por red.

+1
0
-1
Imagen de aergre
+1
0
-1

Me gusto.

+1
0
-1
Imagen de andresmeralda
+1
0
-1

Sencillo pero bien explicado. En serio que me sirvió. Hace días que había intentado lo mismo pero no desde este tutorial y no me funcionaba.

Cuando Eclipse y Netbeans reketecontra traban la máquina no hay de otra que usar la terminal. Así que, gracias otra vez. Lo necesitaba para la U.

+1
0
-1

No llores... Grita.

Imagen de gerichox
+1
0
-1

cuando hize los archivos de c me corrieron estupendamente pero no puedo correr los de c++
me aparece este error
The program 'g++' can be found in the following packages:
* g++
* pentium-builder
Try: sudo apt-get install
g++: command not found

alguien me podria ayudar

+1
0
-1
Imagen de rioport
+1
0
-1

alguien me podria ayudar

No, porque ahí te está diciendo que el programa g++ lo encuentras en los paquetes g++ y pentium-builder y te dice cómo lo puedes instalar:

sudo apt-get install g++
+1
0
-1

-- GC --

Imagen de voyager1
+1
0
-1

Muy buen tutorial

lo que me pregunto es como guardar el código en un directorio para diferenciarlo de otros códigos, especialmente si el código es muy grande e incluye modulos, además no tengo claro como ver si el código que escribo tiene problemas. es decir pude ir por donde yo no quiereo que se marche

Un saludo

Carlos

+1
0
-1

usuario de gnu con kernel linux número 481.784

Antes de preguntar suelo hacer ...RTFM y STFW, es decir, intento leer la correcta pagina del manual, y buscar la solución por la red. Evidentemente siempre me quedan manuales y paginas por leer, e intento

Imagen de Fantasmagorico
+1
0
-1

Catrip excelente tutorial, soy nuevo en Ubuntu apenas lo instale ayer y ya estoy buscando como modificar las cosas a mi gusto, tengo alis de programación en Visual basic en Windows, pero nunca se debe cerrar la puerta a otras opciones, en Windows nunca programe en C, pero en Ubuntu me toco arrancar de cero, pero la lógica de programación es similar en todos los programas lo que hay es que aprender las sintaxis de cada uno y tener algo de creatividad, gracias.

+1
0
-1

Perder la vida es: un día sin aprender algo

Imagen de tricto
+1
0
-1

Simplemente eso, gracias x hacer el minitutorial para iniciarnos en el mundo del C/C++. Empezando x aqui espero ir mejorando hasta ser yo el que haga los tutoriales ;D

+1
0
-1
Imagen de ali_marquina
+1
0
-1

Felicitaciones educar enseñando es lo maximo, nunca se debe menospreciar el conocimiento por muy insignificante que parezca

+1
0
-1
Imagen de rcarlos.cs
+1
0
-1

exelente me ayudo bastante a aclarar muchas dudas... tus explicacione son muy claras para los que somos novatos..... saludos..

+1
0
-1
Imagen de Nahtanoj
+1
0
-1

Hola, al igual que muchos soy nuevo usando ubuntu y el tutorial me cae de perlas pero cuando compilo el programa me sale el siguiente error:
suma.c: En la función ‘main’:
suma.c:11:8: error: ‘o’ no se declaró aquí (primer uso en esta función)
suma.c:11:8: nota: cada identificador sin declarar se reporta sólo una vez para cada función en el que aparece
¿Qué debo hacer?
Gracias por la ayuda

+1
0
-1
Imagen de Jose Luis 1320
+1
0
-1

No es problema de Ubuntu ni del compilador, el problema es tu código, revísalo.

+1
0
-1

"Yo sólo se que no se nada"
-Sócrates, filósofo griego.
-Normas del foro

Imagen de Nahtanoj
+1
0
-1

Esto es lo que guardo en el ejemplo,

include
int main()
{
printf("Hola mundo");
printf("\n");
return o;
}

Luego para compilar,
gcc ejemplo.c -o ejemplo

Y Aparece el error
ejemplo.c: En la función ‘main’:
ejemplo.c:6:8: error: ‘o’ no se declaró aquí (primer uso en esta función)
ejemplo.c:6:8: nota: cada identificador sin declarar se reporta sólo una vez para cada función en el que aparece

+1
0
-1
Imagen de rioport
+1
0
-1

Línea 6, en el octavo carácter. Debe ser un CERO no una o. De ser necesario gradúate las gafas.

+1
0
-1

-- GC --

Imagen de Nahtanoj
+1
0
-1

xD pues ya las mandé a reparar... Gracias por la ayuda

+1
0
-1
Imagen de Chinox
+1
0
-1

Hola buen dia, me parece muy buen tutorial sencillo, facil de entender.

He estado estudiando por mi cuenta y al tratar de compilar otro programa simplemente no pude hacerlo sin escribir using namespace std; antes del int main ().

La pregunta seria que es lo que hace el instrucción namespace.

Otra preguta seria, porque no se puede utilizar iostream.h cual es la diferencia?

Gracias.
Saludos

+1
0
-1

"Este bellísimo sistema compuesto por el Sol, los planetas y los cometas no pudo menos que haber sido creado por consejo y dominio de un ente poderoso e inteligente... El Dios Supremo es un Ser eterno, infinito, absolutamente perfecto."
Isaac Newton.

Imagen de DreamMovie
+1
0
-1

Gracias por la ayuda y este tutorial. Muy bueno, me funciono de primera.

+1
0
-1
Imagen de debian001
+1
0
-1

BUENO TUTO, MUY BIEN EXPLICADO.

+1
0
-1

Snider Guerrero Development

Páginas