Compilación con GCC: pasos y comandos
Compilación paso a paso (por línea de comandos)
1. Preprocesado:
$ cpp programa.c > programa.pp
Se genera el archivo en código fuente preprocesado programa.pp
2. Compilación (traducción a ensamblador):
$ gcc -S programa.c
Se genera el archivo en código ensamblador programa.s
3. Ensamblado (traducción a código máquina/objeto):
$ as -o programa.o programa.s
Se genera el archivo en código máquina programa.o
4. Enlazado:
$ ld -o programa programa.o -lc
Se genera el archivo ejecutable programa
Compilación en un solo paso (por línea de comandos)
$ gcc -o programa programa.c
Se genera el ejecutable programa
O
$ cc -o programa programa.c
Se genera el ejecutable programa
Se asume el compilador por defecto = gcc
O
$ gcc programa.c
Se genera el ejecutable a.out
O
$ make programa
Se genera el ejecutable programa
si existe en ese directorio el archivo fuente programa.c
Ejecución (por línea de comandos)
$ ./programa
Si nos encontramos en el directorio donde existe ese archivo programa
con atributos y permisos de ejecución
O
$ programa
Si existe ese archivo programa
en alguna de las rutas de búsqueda definida en $PATH
con atributos y permisos de ejecución
O
$ /ruta/de/programa
Compilación con opciones de depuración
$ gcc -g -o programa programa.c
Se genera el mismo ejecutable programa
que incluye información adicional para su depuración p.ej. con la herramienta gdb
Compilación con librería PThread
$ gcc -o programa fuente1.c fuente2.c -lpthread
Se genera el ejecutable programa
a partir de dos archivos fuente enlazado con la librería libpthread.so
Compilación con funciones matemáticas
$ gcc -o programa fuente.c -lm
Se genera el ejecutable programa
a partir del archivo fuente enlazado con la librería libm.so
dokuwiki\Exception\FatalException: Allowed memory size of 134217728 bytes exhausted (tried to allocate 4096 bytes)
An unforeseen error has occured. This is most likely a bug somewhere. It might be a problem in the authplain plugin.
More info has been written to the DokuWiki error log.