ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Como Compilar Un Programa En C.c++.gcc.g++.java


Enviado por   •  19 de Junio de 2013  •  1.697 Palabras (7 Páginas)  •  629 Visitas

Página 1 de 7

El compilador GCC

Sintaxis.

Ejemplos.

Sufijos en nombres de archivo.

Opciones.

Etapas de compilación.

1. Preprocesado.

2. Compilación.

3. Ensamblado.

4. Enlazado.

Todo en un solo paso

Enlace dinámico y estático.

Resumen.

Información adicional.

GCC es un compilador integrado del proyecto GNU para C, C++, Objective C y Fortran; es capaz de recibir un programa fuente en cualquiera de estos lenguajes y generar un programa ejecutable binario en el lenguaje de la máquina donde ha de correr.

La sigla GCC significa "GNU Compiler Collection". Originalmente significaba "GNU C Compiler"; todavía se usa GCC para designar una compilación en C. G++ refiere a una compilación en C++.

Sintaxis.

gcc [ opción | archivo ] ...

g++ [ opción | archivo ] ...

Las opciones van precedidas de un guión, como es habitual en UNIX, pero las opciones en sí pueden tener varias letras; no pueden agruparse varias opciones tras un mismo guión. Algunas opciones requieren después un nombre de archivo o directorio, otras no. Finalmente, pueden darse varios nombres de archivo a incluir en el proceso de compilación.

Ejemplos.

gcc hola.c

compila el programa en C hola.c, gener un archivo ejecutable a.out.

gcc -o hola hola.c

compila el programa en C hola.c, gener un archivo ejecutable hola.

g++ -o hola hola.cpp

compila el programa en C++ hola.c, gener un archivo ejecutable hola.

gcc -c hola.c

no genera el ejecutable, sino el código objeto, en el archivo hola.o. Si no s indica un nombre para el archivo objeto, usa el nombre del archivo en C y le cambia la extensión por .o.

gcc -c -o objeto.o hola.c

genera el código objeto indicando el nombre de archivo.

g++ -c hola.cpp

igual para un programa en C++.

g++ -o ~/bin/hola hola.cpp

genera el ejecutable hola en el subdirectorio bin del directorio propio del usuario.

g++ -L/lib -L/usr/lib hola.cpp

indica dos directorios donde han de buscarse bibliotecas. La opción -L debe repetirse para cada directorio de búsqueda de bibliotecas.

g++ -I/usr/include hola.cpp

indica un directorio para buscar archivos de encabezado (de extensión .h).

Sufijos en nombres de archivo.

Son habituales las siguientes extensiones o sufijos de los nombres de archivo:

.c fuente en C

.C .cc .cpp .c++ .cp .cxx fuente en C++; se recomienda .cpp

.m fuente en Objective-C

.i C preprocesado

.ii C++ preprocesdo

.s fuente en lenguaje ensamblador

.o código objeto

.h archivo para preprocesador (encabezados), no suele figurar en la linea de comando de gcc

Opciones.

- c

realiza preprocesamiento y compilación, obteniento el archivo en código objeto; no realiza el enlazado.

- E

realiza solamente el preprocesamiento, enviando el resultado a la salida estándar.

-o archivo

indica el nombre del archivo de salida, cualesquiera sean las etapas cumplidas.

-Iruta

especifica la ruta hacia el directorio donde se encuentran los archivos marcados para incluir en el programa fuente. No lleva espacio entre la I y la ruta, así: -I/usr/include

-L

especifica la ruta hacia el directorio donde se encuentran los archivos de biblioteca con el código objeto de las funciones referenciadas en el programa fuente. No lleva espacio entre la L y la ruta, así: -L/usr/lib

-Wall

muestra todos los mensajes de error y advertencia del compilador, incluso algunos cuestionables pero en definitiva fáciles de evitar escribiendo el código con cuidado.

-g

incluye en el ejecutable generado la información necesaria para poder rastrear los errores usando un depurador, tal como GDB (GNU Debugger).

-v

muestra los comandos ejecutados en cada etapa de compilación y la versión del compilador. Es un informe muy detallado.

Etapas de compilación.

El proceso de compilación involucra cuatro etapas sucesivas: preprocesamiento, compilación, ensamblado y enlazado. Para pasar de un programa fuente escrito por un humano a un archivo ejecutable es necesario realizar estas cuatro etapas en forma sucesiva. Los comandos gcc y g++ son capaces de realizar todo el proceso de una sola vez.

1. Preprocesado.

En esta etapa se interpretan las directivas al preprocesador. Entre otras cosas, las variables inicializadas con #define son sustituídas en el código por su valor en todos los lugares donde aparece su nombre.

Usaremos como ejemplo este sencillo programa de prueba, circulo.c:

/* Circulo.c: calcula el área de un círculo.

Ejemplo para

...

Descargar como (para miembros actualizados)  txt (10.6 Kb)  
Leer 6 páginas más »
Disponible sólo en Clubensayos.com