¿Qué significa gcc?
GCC (GNU Compiler Collection, suite de compiladores GNU) es un compilador de lenguaje de programación desarrollado por GNU. Es un software gratuito publicado bajo licencia GPL y es una parte clave del proyecto GNU.
GCC fue originalmente el compilador oficial del sistema operativo GNU. Ha sido adoptado como compilador estándar por la mayoría de los sistemas operativos tipo Unix (como Linux, BSD, Mac OS X, etc.). También es aplicable a Microsoft Windows. GCC es un ejemplo bien conocido del desarrollo de procesos de software libre, publicado por la Free Software Foundation bajo la licencia GPL.
Funciones y funciones de GCC:
1. Preprocesamiento
El comando gcc primero llama a cpp para el preprocesamiento, el archivo de código fuente El archivo incluye. (incluir) y se analizan declaraciones precompiladas (como definiciones de macros, etc.).
2. Compilación
Cuando se utiliza GCC para compilar código C/C++, intentará completar la compilación en el menor tiempo posible y el código compilado es fácil de depurar. La facilidad de depuración significa que el código compilado tiene el mismo orden de ejecución que el código fuente y el código compilado no está optimizado.
3. Conexión
Después de generar todos los archivos de destino, gcc llama a ld para completar el trabajo crítico final. Esta etapa es la conexión. En la fase de vinculación, todos los archivos objeto se organizan en las ubicaciones apropiadas en el programa ejecutable. Al mismo tiempo, las funciones de la biblioteca llamadas por el programa también se vinculan a las ubicaciones apropiadas desde sus respectivos archivos.
4. Ensamblaje
El proceso de ensamblaje es para los pasos del lenguaje ensamblador, llamando a trabajar en términos generales, archivos de código fuente en lenguaje ensamblador con sufijo .S y ensamblador, .s. Después de la precompilación y el ensamblaje, los archivos en lenguaje ensamblador con el sufijo .o generarán archivos objeto con el sufijo .o. Cuando GCC realiza el trabajo de compilación, requiere cuatro pasos:
1. Preprocesamiento y generación de archivos .i [preprocesador cpp]
2. Se genera .s [compilador egcs]
3. El ensamblado se convierte en código de destino (código de máquina) y se genera el archivo .o [ensamblador como]
4. código de destino y generar un programa ejecutable [linker ld]
Opciones comunes
-ansi solo admite la sintaxis C estándar ANSI. Esta opción deshabilitará ciertas características de GNU C, como las palabras clave asm o typeof.
1. -c: solo compila y genera archivos de destino.
2. -DMACRO: Definir la macro MACRO con la cadena "1".
3. -DMACRO=DEFN: Defina la macro MACRO con la cadena "DEFN".
4. -E: Ejecute solo el precompilador de C.
5. -g: Genera información de depuración. El depurador GNU puede explotar esta información.
6. -IDIRECTORIO: Especifica la ruta de búsqueda del archivo de encabezado adicional DIRECTORIO.
7. -LDIRECTORY: Especifica la ruta de búsqueda de la biblioteca de funciones adicionales DIRECTORIO.
8. -lBIBLIOTECA: busca la biblioteca de funciones especificada BIBLIOTECA al conectarse.
9. -m486: Optimización de código para 486.