parámetros de la línea de comandos de g ++

Introducción

  1. Preprocesamiento [procesador] => .iarchivo
  2. Compilar [herramienta] => .sarchivo
  3. Ensamblador => .oarchivo
  4. Enlace [tool ld] => programa ejecutable

Parámetro detallado

  • -x language filename: Establezca el idioma utilizado en el archivo, invalide el sufijo y será válido para el siguiente múltiplo. Según la convención, el nombre del sufijo del lenguaje C es .cy el nombre del sufijo de C ++ es .C o .cpp. Úselo para nonedesactivar la opción anterior.

Idioma especificable:

C C objetivo encabezado c c ++ salida cpp ensamblador ensamblador-con-cpp ninguno

Ejemplo :

gcc -x c hello.pig
  • -c: Solo preprocesar , compilar , ensamblar y generar archivos .o

Ejemplo :

gcc -c hello.c
  • -S: Solo preprocesar y compilar , generar archivo .s.

ejemplo:

gcc -S hello.c
  • -E: Solo se realiza el preprocesamiento , los archivos no se generan automáticamente y los resultados se pueden redirigir.

ejemplo:

gcc -E hello.c > pianoapan.txt
gcc -E hello.c | more
  • -o: Realiza preprocesamiento , compilación , ensamblaje y vinculación .

ejemplo:

gcc -o hello.exe hello.c (哦,windows用习惯了)
gcc -o hello.asm -S hello.c
  • -pipe: Use pipelines para reemplazar archivos temporales durante la compilación. Cuando use herramientas de ensamblaje que no sean GNU, puede haber algunos problemas
gcc -pipe -o hello.exe hello.c
  • -ansi: Desactive las funciones de GNU C que no sean compatibles con ANSI C y active las funciones patentadas de ANSI C (incluida la prohibición de algunas palabras clave de tipo asm en línea y el preprocesamiento de macros como UNIX y vax)

  • -fno-asm: Esta opción implementa ansiuna parte de la función de la opción, y prohíbe el uso asm, inliney typeofcomo palabras clave.

  • -fno-strict-prototype: Solo funciona para g ++. Al usar esta opción, g ++ considerará que las funciones sin parámetros no tienen una descripción explícita del número y tipo de parámetros, en lugar de no tener parámetros. Independientemente de si gcc usa este parámetro o no, pensará que la ciudad no tiene un tipo explícito para funciones sin parámetros.

  • -fthis-is-varialble: Está en línea con el C ++ tradicional y se puede utilizar thiscomo variable general.

  • -fcond-mismatch: Permitir que el tipo del segundo y tercer parámetro de la expresión condicional no coincida, el valor de la expresión será voidtipo

  • -funsigned-char,, -fno-signed-char, -fsigned-char: -fno-unsigned-charEstos cuatro parámetros es charel tipo de ajuste, para decidir charel tipo proporcionado unsigned char(los dos primeros parámetros) o signed char(dos parámetros)

  • -include file: Contiene un código determinado, en términos simples, es usar un archivo determinado, cuando se necesita otro archivo, puede usarlo para configurar, la función es equivalente a usar en el código#include<filename>

ejemplo:

gcc hello.c -include /root/pianopan.h
  • -imacros file: Expande la macro del archivo de archivo al archivo de entrada de gcc / g ++, la definición de macro en sí no aparece en el archivo de entrada
  • -Dmacro: Equivalente a #define macro
  • -Dmacro=defn: Equivalente a #define macro = defn
  • -Umacro: Equivalente a la macro #undef
  • -undef: Cancela la definición de cualquier macro no estándar
  • -Idir

Estás en un #include"file"tiempo, gcc / g ++ primero buscará archivos de encabezado en el directorio actual para encontrar tu fórmula, si no lo encuentra, regresó al directorio predeterminado de archivos de encabezado, si es el -Idirectorio desarrollado, primero lo desarrollarás en Buscar en el directorio, y luego buscar en el orden habitual.
Para #include<file>, gcc / g ++ buscará -Ien el directorio especificado, si no se puede encontrar, entonces buscará en el directorio de archivos de encabezado predeterminado del sistema

  • -I-: Sirve para cancelar la función del parámetro anterior, por lo que generalmente se usa -Idirdespués
  • -idirafter dir: Si -Ila búsqueda falla en el directorio, vaya a este directorio para buscar.
  • -iprefix prefix, -iwithprefix dir: Generalmente se usan juntos, cuando -Ila búsqueda del directorio falla, se prefix+dirbuscará a continuación
  • -nostdincHacer que el compilador ya no busque archivos de encabezado en el directorio de archivos de encabezado predeterminado del sistema. Generalmente se usa junto con -I para definir claramente la ubicación del archivo de encabezado.
  • -nostdin C++: Está estipulado no buscar en la ruta estándar especificada por g ++, pero aún buscar en otras rutas. Esta opción se usa en la creación de la biblioteca libg ++
  • -C: En el preprocesamiento no se borra la información del comentario, generalmente se usa con -E. A veces es muy conveniente usar esto para analizar el programa.
  • -M: Genera información relacionada con el archivo. Contiene todo el código fuente del que depende el archivo de destino. Puedes usar gcc -M hello.c para probarlo, es muy simple.
  • -MM: Igual que el anterior, pero ignorará las dependencias causadas por #include.
  • -MD: Igual que -M, pero la salida se importará al archivo .d
  • -MMD: Igual que -MM, pero la salida se importará al archivo .d
  • -Wa,option: Esta opción se pasa como opción al ensamblador; si hay una coma en la opción, la opción se divide en varias opciones y luego se pasa al ensamblador.
  • -Wl.option: Esta opción se pasa al vinculador; si hay una coma en la opción, la opción se divide en varias opciones y luego se pasa al vinculador.
  • -llibrary: Formula la biblioteca que se utilizará al compilar

ejemplo:

gcc -lcurses hello.c # 使用ncurses库编译程序
  • -Ldir: Especifique la ruta de la biblioteca de búsqueda al compilar. Por ejemplo, puede usarlo para hacer un catálogo para su propia biblioteca; de lo contrario, el compilador solo lo encontrará en el catálogo de la biblioteca estándar. Este dires el nombre del directorio.
  • -O0,, -O1, -O2: -O34 opciones de optimización del compilador, el nivel -O0 indica que no hay optimización, -O1 valor predeterminado, -O3 más alto nivel de optimización
  • -g: Es solo un compilador, que genera información de depuración al compilar.
  • -gstabs: Esta opción reclama información de depuración en formato de apuñaladas, pero no incluye información de depuración de gdb.
  • -gstabs+: Esta opción declara la información de depuración en formato stabs y contiene información de depuración adicional que solo es utilizada por gdb.
  • -ggdb: Esta opción generará tanta información de depuración como sea posible para gdb.
  • -static: Esta opción prohibirá el uso de bibliotecas dinámicas, por lo tanto, las cosas compiladas son generalmente muy grandes y pueden ejecutarse sin ninguna biblioteca de vínculos dinámicos.
  • -shared: Esta opción intentará utilizar la biblioteca dinámica, por lo que el archivo generado es relativamente pequeño, pero el sistema necesita la biblioteca dinámica.
  • -traditional: Intentando que el compilador admita las características tradicionales del lenguaje C

Supongo que te gusta

Origin blog.csdn.net/qq_29695701/article/details/95593003
Recomendado
Clasificación