Вы находитесь на странице: 1из 3

Arquitectura de Computadora

Resolucin gua 3

alumno Len Hidalgo Jos Salvador

Compilador gcc
version instalada 4,9

Descripcin de las fases de la compilacion en c

Preprocesador
acepta el codigo fuente como entrada su funcion es eliminar los comentarios del codigo, interpretar y
procesar las lineas de codigo precididas por el el simbolo #.
dos de las directivas mas compunes que anteponen el simbolo# son #include y #define

#include sustituye la linea por un fichero especificado ejemplo #include <lib.h> en palabras mas
simples se sustituye la instruccin #include por lo contenido lib.h

#define sustituye una porcion de codigo por un valor predeterminado un ejemplo #define <MAX
LIMITED 100> en palabras sencillas esta instruccin sustituir cada vez q aparezca la sintax max por
el valor 100 en este caso.

El compilador
Este se encarga de estructurar o compilar el cdigo fuente extension .C .CPP en archivos binarios con
extensin .O para cada archivo fuente.

El ensamblador
como su nombre lo dice cambia los nemotcnicos o sintaxis entendible al ser humano a lenguaje
maquina en este caso assembler.

Enlazador
Finalmente, el compilador une cada archivo .o con los archivos binarios de las libreras que son
utilizadas (archivos .a y .so bajo Linux, archivos .dll bajo Windows).

Especialmente, verifica que cada funcin llamada en el programa no est solamente declarada (esto
es hecho durante la compilacin) sino tambin implementada. Tambin verifica que una funcin no
est implementada en varios archivos .o.

Esta fase constituye la fase final para obtener un ejecutable (.exe bajo Windows, generalmente sin
extensin bajo Linux).

Definicin de parmetros de gcc

-c
Realiza preprocesamiento y compilacin obteniendo un archivo en cdigo objeto no realiza enlazado
--E Opcion para detener el proceso de compilacin luego de realizado el preprocesamiento. La salida es
en la forma de un archivo preprocesado. Los archivos que no requieren preprocesamiento son
ignorados

-S Opcion para detener luego de la etapa de compilacin, no realiza la etapa de ensamblado. La salida
sera en la forma de cdigo assembly4 , por defecto, el nombre del archivo de salida sera del mismo
nombre que el archivo fuente, pero con sufijo .s. Los archivos que no requieren compilacion son
ignorados.

-o
comando para especificar el archivo de salida

-g
incluye informacin en el binario para utilizar un depurador posteriormente

-v
muestra los comandos utilizados en cada etapa de compilacin y la versin del compilacin que se esta
utilizando

-Idir
Especifica el directorio donde gcc debe buscar los archivos de cabecera indicados en el codigo fuente

-Ldir
especifixa el directorio donde gcc busca las libreras necesarias en el proceso de enlazado

_En que directorio del sistema de archivos linux se encuentran los archivos de cabecera de lenguaje C.
R/ /usr/incluide

_En que directorio del sistema de archivos linux se encuentran los archivos de cabecera propios del
sistema.
R//usr/incluide/linux

_Que es una biblioteca esttica.


R/es una librera q se copia en el programa lo que hace q esta se cargue automticamente cuando el
programa se ejecuta.

_Que es una biblioteca dinmica.


R/es una librera q no se copia en el programa cuando se compila esta solo se carga en el momento q el
programa lo requiera.

_Cual es la diferencia entre las bibliotecas estticas y bibliotecas dinmicas


R/ una se compila dentro del programa y la otra no

_Defina la utilidad del comando ldd


R/imprime los objetos compartidos ya sea bibliotecas que se compartan requeridas por cada programa u
objeto compartidos
_Defina la utilidad del comando strace
R/corre los comandos especificados hasta la salida de la ejecucin interpreta y registra las llamadas al
sistema realizadas por el proceso y las seales que son recibidas

_Explique en que consiste la utilidad make


R/Es la utilidad automtica que determina cuales piezas son las que se necesitan a lo largo del
programa y que necesitan ser recompiladas y emitir los comandos para compilarlas

_Cual es la estructura bsica para un archivo Makefile


R/ mejora el entendimiento de las reglas de los archivos

_Explique la importancia de libc


R/La importancia de esta librera es que todo sistema unix necesita de estas libreras ya q en ellas estn
definidas las llamadas al sistema

_Que versin de libc tiene instalada


R/2,19

Вам также может понравиться