Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Qu es el Compilador?
Programa Programainformtico informticoque quetraduce traduceun unprograma programaescrito escritoen enun unlenguaje lenguaje de deprogramacin programacina aotro otrolenguaje lenguajede deprogramacin, programacin,generando generandoun un programa programaequivalente equivalenteque quela lamquina mquinaser sercapaz capazde deinterpretar. interpretar. Usualmente Usualmenteel elsegundo segundolenguaje lenguajees eslenguaje lenguajede demquina, mquina,pero pero tambin tambinpuede puedeser serun uncdigo cdigointermedio intermedio(bytecode), (bytecode),o osimplemente simplemente texto. texto.Este Esteproceso procesode detraduccin traduccinse seconoce conocecomo comocompilacin. compilacin.
Anlisis AnlisisLxico: Lxico:consiste consisteen enla ladescomposicin descomposicindel delprograma programafuente fuente en encomponentes componenteslxicos. lxicos.
Anlisis AnlisisSintctico: Sintctico:agrupacin agrupacinde delos loscomponentes componenteslxicos lxicosen en frases frasesgramaticales. gramaticales.
Anlisis AnlisisSemntico: Semntico:comprobacin comprobacinde dela lavalidez validezsemntica semnticade delas las sentencias sentenciasaceptadas aceptadasen enla lafase fasede deAnlisis AnlisisSintctico. Sintctico.
Suele Sueleestar estarformado formadopor poruna unao ovarias variascombinaciones combinacionesde defases fasesde de Generacin Generacinde deCdigo Cdigo(normalmente (normalmentese setrata tratade decdigo cdigointermedio intermedioo o de decdigo cdigoobjeto). objeto).
Y Yde deOptimizacin Optimizacinde deCdigo Cdigo(en (enlas lasque quese sebusca buscaobtener obtenerun uncdigo cdigo lo loms mseficiente eficienteposible). posible).
Compilador GCC
La Lasigla siglaGCC GCCsignifica significa"GNU "GNUCompiler CompilerCollection". Collection".Originalmente Originalmente significaba significaba"GNU "GNUC CCompiler". Compiler".
GNU GNUCompiler CompilerCollection Collection(coleccin (coleccinde decompiladores compiladoresGNU). GNU).Es Esun un conjunto conjuntode decompiladores compiladorescreados creadospor porel elproyecto proyectoGNU. GNU.
GCC GCCes esun uncompilador compiladorintegrado integradodel delproyecto proyectoGNU GNUpara paraC, C,C++, C++, Objective-C, Objective-C,Objective-C++, Objective-C++,Java, Java,Fortran, Fortran,Ada, Ada,y yGo. Go.
Compilador GCC
Es Escapaz capazde derecibir recibirun unprograma programafuente fuenteen encualquiera cualquierade deestos estos lenguajes lenguajesy ygenerar generarun unprograma programaejecutable ejecutablebinario binarioen enel ellenguaje lenguajede de la lamquina mquinadonde dondeha hade decorrer. correr.
GCC GCCes essoftware softwarelibre librey ylo lodistribuye distribuyela laFree FreeSoftware SoftwareFoundation Foundation (FSF) (FSF)bajo bajola lalicencia licenciageneral generalpblica pblicaGPL. GPL.
Estos Estoscompiladores compiladoresse seconsideran consideranestndar estndarpara paralos lossistemas sistemas operativos operativosderivados derivadosde deUNIX, UNIX,de decdigo cdigoabierto abiertoy ytambin tambinde de propietarios, propietarios,como comoMac MacOS OSX. X.
GCC GCCrequiere requiereel elconjunto conjuntode deaplicaciones aplicacionesconocido conocidocomo comobinutils binutilspara para realizar realizartareas tareascomo comoidentificar identificararchivos archivosobjeto objetou uobtener obtenersu sutamao tamaopara para copiarlos, copiarlos,traducirlos traducirloso ocrear crearlistas, listas,enlazarlos, enlazarlos,o oquitarles quitarlessmbolos smbolos innecesarios. innecesarios.
Sintaxis
Opciones
-o archivo
indica el nombre del archivo de salida, cualesquiera sean las etapas cumplidas.
-c
realiza preprocesamiento y compilacin, obteniendo el archivo en cdigo objeto; no realiza el enlazado.
-E
realiza solamente el preprocesamiento, enviando el resultado a la salida estndar.
-v
muestra los comandos ejecutados en cada etapa de compilacin y la versin del compilador. Es un informe muy detallado.
Opciones
-Iruta
especifica la ruta hacia el directorio donde se encuentran los archivos marcados para incluir en el programa fuente.
-Lruta
especifica la ruta hacia el directorio donde se encuentran los archivos de biblioteca con el cdigo objeto de las funciones referenciadas en el programa.
-Wall
muestra todos los mensajes de error y advertencia del compilador, incluso algunos cuestionables pero en definitiva fciles de evitar escribiendo el cdigo con cuidado.
-g
incluye en el ejecutable generado la informacin necesaria para poder rastrear los errores usando un depurador, tal como GDB (GNU Debugger).
Ejemplos
$ gcc hola.c
Compila el programa en C hola.c, genera un archivo ejecutable a.out.
Ejemplos
$ gcc -c hola.c
No genera el ejecutable, sino el cdigo objeto, en el archivo hola.o. Si no se indica un nombre para el archivo objeto, usa el nombre del archivo en C y le cambia la extensin por .o.
Ejemplos
$ gcc hola.c -L/lib -L/usr/lib
Indica dos directorios donde han de buscarse bibliotecas. La opcin -L debe repetirse para cada directorio de bsqueda de bibliotecas.
Referencias
http://es.wikipedia.org/wiki/Compilador http://es.wikipedia.org/wiki/Compilador http://www.alegsa.com.ar/Dic/compilador.php http://www.alegsa.com.ar/Dic/compilador.php http://gcc.gnu.org/ http://gcc.gnu.org/ http://es.wikipedia.org/wiki/GNU_Compiler_Collection http://es.wikipedia.org/wiki/GNU_Compiler_Collection http://iie.fing.edu.uy/~vagonbar/gcc-make/gcc.htm http://iie.fing.edu.uy/~vagonbar/gcc-make/gcc.htm
Fin!!!