Page 49 - LENGUAJES FORMALES AUTOMATAS Y COMPILADOS
P. 49

49


                           .c  fichero fuente en C

                           .h  fichero cabecera fuente en C (sólo útil para los #include)

                           .s  fichero fuente en ensamblador (también reconocido)

                           .i  fichero fuente tras ser pre procesado (raramente empleado por el usuario)

                           .o  fichero objeto

                           .a  fichero de biblioteca



                  El compilador de C sólo genera un ejecutable, de nombre a.out, aunque se le puede indicar que
                  tenga otro nombre con la opción -onombre_de_ejecutable.

                        Uso del compilador


                  El programa cc se invoca desde el shell, admitiendo como argumentos los ficheros empleados
                  para  construir  el  ejecutable  más  una  serie  de  opciones  de  compilación.  Las  opciones  y
                  modalidades de uso del cc son muy amplias.


                  Por omisión, el cc genera un ejecutable llamado a.out. En la línea de órdenes pueden incluir tanto
                  ficheros fuentes en C como ficheros objeto, incluso fuentes en ensamblador. Los nombres de los
                  ficheros pueden aparecer en cualquier orden.

                  Ejemplo 1:


                  cc pepe.c

                  Si pepe.c es un fichero fuente en C, se compila y se enlaza con las bibliotecas del sistema. Si no
                  había  errores  sintácticos  ni  referencias  a  funciones  o  variables  inexistentes,  se  genera  el
                  ejecutable a.out.

                  Ejemplo 2:


                  cc -o pepe main.c utilidades.c pepe.o -lm

                  Éste es un ejemplo más complejo donde anticipamos el uso de un par de opciones de compilación.
                  La  opción -o  pepe sirve  para  que,  en  lugar  de  generar  el  fichero  ejecutable pepe,  en  lugar
                  de a.out. Para construir el ejecutable se hace uso explícito de cuatro elementos:

                      1-  Una fuente main.c (quizás con el programa principal).
                      2-  Otra fuente, utilidades.c (quizás con funciones adicionales).
                      3-  Un objeto pepe.o (tal vez con otras utilidades ya compiladas).
                      4-  La biblioteca matemática estándar (con la opción -lm).


                  Con este ejemplo hacemos ver que un programa en C puede estar compuesto de varios módulos
                  en  forma  de  ficheros  fuentes.  Y  que  si  un  módulo  ya  está  compilado,  podemos  pasar  como
                  argumento al compilador el correspondiente .o para ahorrar tiempo.
   44   45   46   47   48   49   50   51   52   53   54