www.delorie.com/djgpp/doc/ug/basics/compiling.html | search |
Debido a su origen Unix, GCC tiene un estilo diferente en cuanto a la sintaxis de las líneas de comando y sus propios algoritmos de compilación y enlazado (link). Tiene además una abundacia excesiva de opciones, algunas de ellas oscuras o semidocumentadas. Esto suele confundir a los usuarios, en especial a aquéllos que han tenido una experiencia previa con compiladores C para DOS.
Dado que GCC es un compilador, su propósito principal es convertir el código fuente que usted escribe en programas que el ordenador pueda ejecutar. Para ello invoca varios recursos. Primero de todo, lee sus códigos fuente. Basándose en la extensión de fichero que usted usó para su programa, selecciona los comandos apropiados que necesita ejecutar para convertir su código fuente en el fichero de salida que usted especificó. Recuerde que gcc es primordialmente un compilador Unix, así que asume que en los nombres de fichero que usted le da se distinguen mayúsculas y minúsculas! Aquí tiene una lista de las extensiones de fichero y lo que gcc hace con ellas.
Aquí tiene un resumen de lo que hace gcc:
Probablemente se habrá dado cuenta de que gcc también puede generar diferentes tipos de ficheros de salida. Las opciones -E, -S, y -c indican a gcc que detenga el proceso en el punto indicado y que genere la salida. Nota: La salida de la opción -E se muestra en la pantalla, mientras las otras opciones hacen que se guarde la salida en un fichero. Si lo desea, puede redireccionar la salida a un fichero.
Si no se especifica un nombre para el fichero de salida, gcc crea por defecto un fichero llamado a.exe. Esto diverge de la mayoría de compiladores de DOS, que nombran al programa como el primer fichero fuente u objeto que encuentran. Se puede especificar un nombre de fichero salida con la opción -o (que trabaja junto con la opción -c o -S) de esta manera:
gcc hello.c -o hello.exe
Este ejemplo es también la forma más simple de crear un ejecutable DOS desde un fichero fuente C. Si el programa consta de múltiples ficheros fuente, puede compilarlos todos a la vez:
gcc hello.c goodbye.c -o hello.exe
También se puede compilar cada código fuente por separado y luego enlazarlos juntos en un programa:
gcc -c hello.c
gcc -c goodbye.c
gcc hello.o goodbye.o -o hello.exe
La compilación por separado es más rápida cuando se esta depurando un programa, porque sólo hay que recompilar los fuentes que han sido modificados. Cuando se usa make para gestionar un proyecto, él se encarga de esto y sólo recompila los módulos que hagan falta.
Traducido por: [Gorka's web] (10 diciembre 1999)Copyright © 1997 by DJ Delorie | Updated Jan 1997 |