El compilador de C bajo Linux es gcc.Viene instalado por defecto en varias distribuciones, pero bajo Debian (y los que derivan de él) necesita ser instalado (aptitude install gcc).
Compilador de C++ bajo Ambiente Linux
Vistas de página en total
lunes, 25 de julio de 2011
¿Qué es GCC?
Primero veamos lo que significa GCC: GNU Compiler Collection. Es el compilador creado por el proyecto GNU. Se trata de una colección de programas libres integrados capaces de compilar diversos lenguajes de programación, entre estos C, C++, Objective-C, Java, Ada y Fortran. GCC es utilizado en el desarrollo de la mayoría de programas libres. Especialmente, el núcleo Linux depende estrechamente de las funcionalidades de GCC.
En la práctica, la abreviación GCC es utilizada para nombrar a tres entidades ligeramente diferentes:
1. la colección completa de compiladores
2. La parte común a todos los compiladores
3. El compilador en si.
Para referirse exactamente a los compiladores de cada lenguaje, se habla de:
En la práctica, la abreviación GCC es utilizada para nombrar a tres entidades ligeramente diferentes:
1. la colección completa de compiladores
2. La parte común a todos los compiladores
3. El compilador en si.
Para referirse exactamente a los compiladores de cada lenguaje, se habla de:
- GCC para C;
- G++ para C++;
- GCJ para Java;
- GNAT para Ada;
- Gfortran para Fortran;
- GPC para Pascal;
- GHDL para VHDL.
Sintaxis en GCC
Vamos a ver los dos principales comandos de GCC para c:
#gcc programa.c # crea un ejecutable de nombre a.out, que lo ejecutaremos con. /a.out.
# gcc -o <nombre_que_queremos_darle_al_programa> -c <programa>.c # El argumento -o permite elegir el nombre del ejecutable.
Para ver otros comandos:
#gcc programa.c # crea un ejecutable de nombre a.out, que lo ejecutaremos con. /a.out.
# gcc -o <nombre_que_queremos_darle_al_programa> -c <programa>.c # El argumento -o permite elegir el nombre del ejecutable.
Para ver otros comandos:
Man gcc
Como crear un programa en c++ bajo linux
Escribí este tutorial hace poco. No pretende explicar las funciones de los lenguajes C/C++ sino el uso del compilador en un sistema operativo GNU/Linux con gcc y g++.
IDE: Estamos acostumbrados al viejo Borland C++ bajo Windows y si bien no encontramos un IDE con todo integrado hay muchos editores de texto que hasta resaltan la sintaxis del C/C++. El problema es que para compilar y ejecutar va a ser un poco mas complicado que el Alt+F9 y
Ctrl+F9.***
1er paso: Edición
Lo recomendable es que usemos "nano" que es un editor muuy básico similar al que venimos corriendo en Windows. Es ejecutado bajo consola. Entonces lo primero a hacer es abrir la consola
(bash, terminal) y damos la orden "nano " donde los guiones serán reemplazados por el
nombre del archivo a abrir o crear.
Ejemplo:
$ nano jose.cpp
IDE: Estamos acostumbrados al viejo Borland C++ bajo Windows y si bien no encontramos un IDE con todo integrado hay muchos editores de texto que hasta resaltan la sintaxis del C/C++. El problema es que para compilar y ejecutar va a ser un poco mas complicado que el Alt+F9 y
Ctrl+F9.***
1er paso: Edición
Lo recomendable es que usemos "nano" que es un editor muuy básico similar al que venimos corriendo en Windows. Es ejecutado bajo consola. Entonces lo primero a hacer es abrir la consola
(bash, terminal) y damos la orden "nano " donde los guiones serán reemplazados por el
nombre del archivo a abrir o crear.
Ejemplo:
$ nano jose.cpp
2do paso: Programación
No todas las librerías del borland están en el compilador de linux, por ejemplo falta la famosa
"CONIO.H" (que trae funciones como clrscr() y getch()) pero pueden ser reemplazadas. Asi que hay que tener cuidado de usar solo las funciones que sabemos no pertenecen a esas librerías. Stdio, String, dos y las demás creo que funcionan a la perfección todas.
3er paso: Guardar
Nuestro pobre editor "nano" guardará el archivo usando Ctrl+o y lo cerrará con Ctrl+x. Luego de
esto nos devolverá a la Consola.
4to paso: Compilar
Una vez que tenemos nuestro archivo .cpp o .c (código fuente) creado con nano o cualquier editor
tenemos que compilarlo, osea crear el ejecutable cuya extensión no importa (en Windows era .exe) porque Linux no se basa en las extensiones para abrir archivos. El modo de hacerlo es con "gcc" y "g++" los dos compiladores para C y C++ respectivamente. En nuestro caso: "g++ o jose.cpp" donde la linea sería reemplazada por el nombre del ejecutable que creará.
Ejemplo: $ g++ o ejecutame.jos jose.cpp
Creamos el archivo ejecutame.jos en el mismo directorio del código fuente.
5to paso: Ejecutar
Sin más que hacer y si no dió ningún error se procede a ejecutar nuestro querido programa con la orden de consola .
En nuestro ejemplo: $ ./ejecutame.jos
Los errores pueden ser corregidos abriendo nuevamente con nano el fuente y volviendo a
compilar.
Asi de fácil es Compilar y Ejecutar. Para la próxima averiguo como es el trabajo con proyectos con g++.
Ejemplo de como Compilar en C++ bajo linux
El compilador GNU se invoca con el comando gcc. De manera predeterminada este comando preprocesará, compilará y en enlazará un programa de C. Existen muchas opciones para el gcc, y entre ellas existen controles que permiten ejecutar solo alguna fase de la secuencia proceso/compilación/enlace.
Ejemplo:
Ejemplo:
// Programa que lea 5 numeros y sacar la media//
Código:
#include <stdio.h> // libreria estandar//
int n1,n2,n3,n4,n5; // declaracion de las variables//
float M;
float media(int a, int b, int c, int d, int e);
**Este tipo de archivo de extension: h, significa header, o sea cabecera, que es un archivo para ayudar a compilar mejor, ya que se usa para declarar, tanto las librerias a usar en el programa, como las funciones que haya distintos archivos, de una sola vez y antes de nada; para que no haya conflictos de recursividad**
Código:
// main.c //* GCC
#include "main.h" // librería de matematica//
int main()
{
printf("Introduce 5 numeros para hacer su media\n"); // llamada de las variables//
scanf("%i",&n1);
printf("\n");
scanf("%i",&n2);
printf("\n");
scanf("%i",&n3);
printf("\n");
scanf("%i",&n4);
printf("\n");
scanf("%i",&n5);
M = media(n1,n2,n3,n4,n5); // fórmula para el promedio //
printf("\n La media es %.2f\n",M);
system("PAUSE");
return 0;
}
#include "main.h" // librería de matematica//
int main()
{
printf("Introduce 5 numeros para hacer su media\n"); // llamada de las variables//
scanf("%i",&n1);
printf("\n");
scanf("%i",&n2);
printf("\n");
scanf("%i",&n3);
printf("\n");
scanf("%i",&n4);
printf("\n");
scanf("%i",&n5);
M = media(n1,n2,n3,n4,n5); // fórmula para el promedio //
printf("\n La media es %.2f\n",M);
system("PAUSE");
return 0;
}
Si lo compilas, el resultado es el mismo, y para comprobarlo, compilalo. Hasta ahora no he enseñado a compilar usando varios archivos asi que doy una alternativa por cada SO.
Para Linux (Ubuntu):
Creo que hay poco que decir al respecto, la línea que nos interesa es:
Código:
gcc main.c main.h media.c -o main
El orden es:
Código:
gcc [objetos] [modo] [resultado] [liberias]
Puedes poner tantas funciones como quieras en archivos externos, pero siempre deben estar declaradas en una cabecera (main.h) que debe ser leida previamente a main.c, ya que para usar una función hay que declararla previamente. En los archivos separados, definimos las funciones, y lo que se suele hacer es una cabecera como la nuestra donde se declaren antes de empezar todas las funciones externas, para evitar conflictos.
Suscribirse a:
Entradas (Atom)