Gnu c y c ++ compiladores para linux

Video: Linux - Instalacion del compilador de C++ y Geany (Ubuntu 10.10)

La herramienta de desarrollo de software más importante en Linux es GCC - GNU C y el compilador de C ++. De hecho, puede compilar GCC tres idiomas: C, C ++ y Objective-C (un lenguaje que añade capacidades de programación orientada a objetos en C).

Video: Compilar programas en C con gcc en linux y estandares

Se utiliza el mismo gcc comando para compilar y enlazar los dos archivos de código fuente de C y C ++. El compilador GCC es compatible con el estándar ANSI C, por lo que es fácil de portar cualquier programa ANSI C para Linux. Además, si alguna vez ha usado un compilador de C en otros sistemas Unix, usted debe sentirse como en casa con GCC.

El uso de GCC

Utilizar el gcc comando para invocar GCC. Por defecto, cuando se utiliza el gcc comando en un archivo de origen, preprocesa CCG, compila y enlaces para crear un archivo ejecutable. Sin embargo, puede utilizar las opciones del CCG para detener este proceso en una etapa intermedia.

Por ejemplo, es posible invocar gcc mediante el uso de la -do opción de compilar un archivo de origen y para generar un archivo de objeto, pero no para realizar la etapa de enlace.

El uso de GCC para compilar y enlazar un par de archivos de código fuente C es fácil. Suponga que desea compilar y enlazar un programa simple compuesto por dos archivos de origen. Para lograr esta tarea, utilice el siguiente código fuente del programa código- la tarea que se almacena en el archivo area.c calcula el área de un círculo cuyo radio se especifica en la línea de comandos.

Video: Instalar c++ compilar y ejecutar sobre GNU/Linux Fedora

Compilación de programas en C ++

GNU CC es un C combinado y C compilador ++, por lo que la gcc comando también puede compilar los archivos de código fuente C ++. GCC utiliza la extensión de archivo para determinar si un archivo es C o C ++. archivos de C tienen una minúscula .do extensión, mientras que C ++ archivos terminan con .do o .CPP.

Aunque el gcc comando puede compilar un archivo C ++, esta orden no se vincula automáticamente con varias bibliotecas de clases que los programas en C ++ por lo general requieren. Compilación y enlace de un programa en C ++ utilizando el comando g ++ es fácil ya que se ejecuta gcc con las opciones apropiadas.

Explorar las opciones del CCG

Aquí está la sintaxis básica de la gcc mando:

Opciones gcc nombres de archivo

Cada opción comienza con un guión (-) y por lo general tiene un nombre largo, tales como -funsigned-char o -finline-funciones. Muchas opciones más comunes son cortos, sin embargo, como -c, para compilar solamente, y -g, para generar información de depuración (necesario para depurar el programa utilizando el depurador GNU, gDB).

Se puede ver un resumen de todas las opciones del CCG escribiendo el siguiente comando en una ventana de terminal:

hombre gcc

A continuación, puede navegar a través de las opciones del CCG de uso común. Por lo general, usted no tiene que proporcionar opciones CCG explícitamente debido a que los ajustes por defecto están muy bien para la mayoría de aplicaciones. Esta tabla muestra algunas de las opciones que puede usar GCC.

Opciones del CCG comunes
OpciónSentido
-ANSIEs compatible con la sintaxis de C estándar ANSI solamente. (Esta opción desactiva
algunas de las características GNU C-específicas, tales como the_asm y_tipo de
palabras clave.) Cuando se utiliza con g ++, soporta solamente C ISO-estándar ++.
-doCompila y genera sólo el archivo de objeto.
-DMACRODefine la macro con la cadena “1”
como su valor.
-DMACRO = defnDefine la macro como defn, dónde
defn es alguna cadena de texto.
-miSólo se ejecuta el preprocesador C.
--Barbecho de precisión simpleRealiza todas las operaciones matemáticas en precisión simple.
-FPCC-estructura de retenciónDevuelve todos struct y Unión valores en la memoria, en lugar de en
registros. (Devolución de valores de esta manera es menos eficiente, pero al
menos&rsquo-s compatible con otros compiladores.)
-fPICGenera código independiente de la posición (PIC) adecuado para uso en una
biblioteca compartida.
-freg-estructura de retenciónCuando sea posible, los retornos struct y
Unión valores de registros.
-gramoGenera información de depuración. (El depurador GNU puede utilizar esta
información.)
-I AnuarioBusca en el directorio especificado para los archivos que se incluyen por
utilizando el #incluir preprocesador
directiva.
-L DIRECTORIOBusca en el directorio especificado para las bibliotecas.
-l BIBLIOTECABusca en la biblioteca especificada cuando se enlaza.
-mcpu = cputypeOptimiza el código para un procesador específico. (cputype puede tomar muchos valores diferentes -
Entre los más comunes son i386, i486, i586, i686,
pentium, PentiumPro, Pentium2, pentium3, Pentium 4.
)
-O ARCHIVOGenera el archivo de salida especificado (utilizado para designar el nombre
de un archivo ejecutable).
-00 (dos ceros)No optimiza.
-O o -O1 (letra O)Optimiza el código generado.
-O2 (Letra O)Optimiza aún más.
-O3 (Letra O)Realiza optimizaciones más allá de las que se realizan para -O2
-Os (Letra O)Optimiza para el tamaño (para reducir la cantidad total de código).
-pedanteGenera errores si cualquier extensión no ANSI estándar están
usado.
-pgAgrega código adicional para el programa de manera que, cuando se ejecuta, este programa
genera información que el gprof
El programa puede usar para mostrar los detalles de tiempo para diversas partes de la
programa.
-compartidoGenera un archivo objeto compartido (usado típicamente para crear una
biblioteca compartida).
-UMACROUndefines las macros especificados.
-vMuestra el número de versión de GCC.
-wdoesn&rsquo-t generar mensajes de advertencia.
-W1, OPCIÓNpasa la OPCIÓN string (que contiene múltiples
opciones separada por comas) para el enlazador. Para crear una biblioteca compartida
llamado libXXX.so.1, por ejemplo, utilizar el
siguiente indicador: -wl,-soname, libXXX.so.1.
Artículos Relacionados