You are on page 1of 2

Actividad 23: Aplicaciones de usuario: Compiladores. Tcc (Tiny C Compiler).

Introduccin -----------TinyCC (tambin TCC) es un pequeo pero muy rpido compilador de C. Tcc no solo soporta ANSI c, sino tambin el nuevo estndar ISO C99 y las extensiones GNUC incluyendo el ensamblador en lnea. TCC puede ser usado para hacer scripts en C. Aunque TCC permite trabajar con las libreras estndar (stdio.h, stdlib.h, etctera) la versin disponible en microLINUX requiere el uso de un nico fichero de cabecera: <tcclib.h> que rene las funciones estndar ms comunes. En la distribucin estn incluidos un extenso grupo de programas escritos en C para demostrar la versatilidad de este compilador, adems se acompaan, en forma de comentario de texto, los ficheros de cabecera .h necesarios para compilar estos fuentes en otros compiladores que admitan ANSI C. Invocacin desde la lnea de comandos ------------------------------------Para la llamada al compilador usar: # tcc [opciones] [fich_c_1 fich_c_2 ...] [-run fich_c argumentos ...] Donde las opciones ms generales son: -v : Muestra la versin actual de TCC. -c : Genera un fichero objeto (tambin debe indicarse la opcin -o). -o nombre_fichero: Convierte el fichero objeto .o en ejecutable (binario) llamado "nombre_fichero". -r : Genera un fichero objeto combinando todos los ficheros de entrada. Ejemplos en el uso de Tcc: #tcc -c fich1.c <-- Compila fich1.c y genera el fichero objeto fich1.o

#tcc -o binario fich1.c <-- Compila fich1.c y genera el fichero ejecutable 'binario' #tcc -run fich.c #tcc -run fich.c arg1 <-- Compila fich.c y lo ejecuta directamente <-- Compila fich.c y lo ejecuta directamente arg1 entrega el primer argumento a la funcin principal main() de fich.c

#tcc -o binario fic1.c fic2.c <-- Compila fic1.c y fic2.c, los enlaza y genera el ejecutable 'binario' #tcc -o binario fic1.o fic2.o <-- Enlaza juntos fic1.o y fic2.o y genera el ejecutable 'binario' #tcc -r -o fi.o fi1.c fi2.c <-- Compila fi1.c y fi2.c, los enlaza juntos y genera fi.o

Recordar que para ejecutar cualquier binario deben cumplirse dos condiciones: A) Poseer permisos de ejecucin (si fuera necesario usar "chmod +x binario"). B) Llamar al fichero con la expresin "./nombre_del_ejecutable". Scripts en C -----------TCC puede ser invocado desde un script, de igual forma que un script de shell. Solo es necesario aadir la cadena "#! /usr/local/bin/tcc -run" para iniciar la ejecucin del cdigo C: Ver el siguiente ejemplo: #! /usr/local/bin/tcc -run #include <tcclib.h> int main() { printf("Hola desde microLINUX\n") ; return 0 ; } Tal y como se indica en el apartado anterior es necesario dar permisos de ejecucin (chmod +x) y ser llamado usando el prefijo "./". T A R E A S ----------1 Editar y ejecutar el scritp C mostrado al final de la actividad. Nota: el fichero no "funcionar" si tiene extensin .sh. 2 Dirigirse al directorio "/usr/src" y desde all buscar algn fichero fuente para compilar y ejecutarlo posteriormente. 3 Leer la informacin del compilador TCC ejecutando "#ayuda.sh tcc". <->