SlideShare una empresa de Scribd logo
1 de 6
NOMBRE:
DODI GUAMÁN.
TRABAJO EN CLASE
Un compilador es un programa informático que traduce un programa escrito en
un lenguaje de programación a otro lenguaje de programación, generando un
programa equivalente que la máquina será capaz de interpretar. Usualmente el
segundo lenguaje es lenguaje de máquina, pero también puede ser un código
intermedio (byte code), o simplemente texto. Este proceso de traducción se
conoce como compilación.1
Un compilador es un programa que permite traducir el código fuente de un
programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior (típicamente
lenguaje de máquina). De esta manera un programador puede diseñar un
programa en un lenguaje mucho más cercano a como piensa un ser humano,
para luego compilarlo a un programa más manejable por una computadora.
Como parte importante de este proceso de traducción, el compilador informa a su
usuario de la presencia de errores en el programa fuente.
EL COMPILADOR PARA LINUX
Si bien existen otros compiladores, lo más usual y más sencillo
para compilar un programa en GNU/Linux es
el compilador gcc, ya que es el que se incluye en todas las
distribuciones.
De cualquier forma, es posible realizar la compilación desde
línea de comandos o desde el entorno gráfico.
Para realizarla desde línea de comandos, será necesario
contar con una terminal (xterm, konsole, gnome-terminal, etc).
No es necesario contar con permisos de root para crear o
compilar programas.
ETAPAS O FASES PARA LA COMPILACIÓN
a compilación es el proceso de traducción de programas fuente a programas objeto.
El programa objeto obtenido de la compilación ha sido traducido normalmente al
código común del lenguaje de máquina.
Para conseguir el programa máquina real se debe utilizar un programa llamado
montador o enlazador (linker). El proceso de montaje conduce a un programa en
lenguaje máquina directamente ejecutable. Existen diversas fases de compilación o
también llamadas etapas de la compilación:
• Programa Fuente
• Compilador
• Programa Objeto
• Linker
• Ejecutable en Lenguaje Máquina
• Programa fuente: Programa escrito en un lenguaje de alto nivel (texto ordinario
que contiene las sentencias del programa en un lenguaje de programación).
Necesita ser traducido a código máquina para poder ser ejecutado.
• Compilador: Programa encargado de traducir los programas fuentes escritos en
un lenguaje de alto nivel a lenguaje máquina y de comprobar que las llamadas a las
funciones de librería se realizan correctamente.
• Programa (o código) objeto: Es el programa fuente traducido (por el compilador)
a código máquina. Aún no es directamente ejecutable.
• Linker (montador o enlazador): Es el programa encargado de insertar al
programa objeto el código máquina de las funciones de las librerías (archivos de
biblioteca) usadas en el programa y realizar el proceso de montaje, que producirá
un programa ejecutable .exe. Las librerías son una colección de código (funciones)
ya programado y traducido a código máquina, listo para utilizar en un programa y
que facilita la labor del programador.
• Programa Ejecutable: Traducción completa a código máquina, realizada por el
enlazador, del programa fuente y que ya es directamente ejecutable.
EL COMPILADOR PARA WINDOWS
• Para compilar un programa C en entornos Windows, debemos seguir una serie de pasos
que varían según el compilador de C que queramos utilizar. Antes que nada, sería bueno
que se revises la documentación del compilador elegido para conocer los comandos
exactos.
• Compilación del código fuente
Si se utiliza un entorno de desarrollo, será posible compilar directamente desde el entorno,
mediante un botón o una combinación de teclas.
Si se ejecuta el compilador desde la línea de comandos, la línea será distinta según
compilador utilizado. A continuación algunos ejemplos de ciertos comandos según el
compilador:
•En C++ de Borland: bcc hola.c
•En Visual C de Microsoft: cl hola.c
•En GNU gcc: gcc hola.c o cc hola.c
•El C de Zortech: ztc hola.c
•En Turbo C de Borland es: tcc hola.c

el

Más contenido relacionado

La actualidad más candente

C:\fakepath\compilador
C:\fakepath\compiladorC:\fakepath\compilador
C:\fakepath\compiladorDLACGP
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libreDanielita Lopez
 
Terceraunidad 130505194734-phpapp01
Terceraunidad 130505194734-phpapp01Terceraunidad 130505194734-phpapp01
Terceraunidad 130505194734-phpapp01Victor Martinez
 
Compiladores de programacion
Compiladores de programacionCompiladores de programacion
Compiladores de programacionMtCeroCero
 
Conceptos De Compilador
Conceptos De CompiladorConceptos De Compilador
Conceptos De CompiladorJoel Soto
 
Yareli martinez rios
Yareli martinez riosYareli martinez rios
Yareli martinez riosYaaree
 
Lenguaje de programación [autoguardado].pptm
Lenguaje de programación [autoguardado].pptmLenguaje de programación [autoguardado].pptm
Lenguaje de programación [autoguardado].pptmJoyce Candanedo
 
Arquitecturas de ordenadores y compiladores cruzados
Arquitecturas de ordenadores y compiladores cruzadosArquitecturas de ordenadores y compiladores cruzados
Arquitecturas de ordenadores y compiladores cruzadosDIEGO BAROJA
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacionkinverdar
 

La actualidad más candente (16)

C:\fakepath\compilador
C:\fakepath\compiladorC:\fakepath\compilador
C:\fakepath\compilador
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Terceraunidad 130505194734-phpapp01
Terceraunidad 130505194734-phpapp01Terceraunidad 130505194734-phpapp01
Terceraunidad 130505194734-phpapp01
 
Compiladores de programacion
Compiladores de programacionCompiladores de programacion
Compiladores de programacion
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Decompilador y metacompilador
Decompilador y metacompiladorDecompilador y metacompilador
Decompilador y metacompilador
 
Conceptos De Compilador
Conceptos De CompiladorConceptos De Compilador
Conceptos De Compilador
 
Yareli martinez rios
Yareli martinez riosYareli martinez rios
Yareli martinez rios
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Tercera unidad
Tercera unidadTercera unidad
Tercera unidad
 
Lenguaje de programación [autoguardado].pptm
Lenguaje de programación [autoguardado].pptmLenguaje de programación [autoguardado].pptm
Lenguaje de programación [autoguardado].pptm
 
Clasificacion de Interpretes
Clasificacion de InterpretesClasificacion de Interpretes
Clasificacion de Interpretes
 
Arquitecturas de ordenadores y compiladores cruzados
Arquitecturas de ordenadores y compiladores cruzadosArquitecturas de ordenadores y compiladores cruzados
Arquitecturas de ordenadores y compiladores cruzados
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 

Similar a Trabajo de presentacion

Conceptos de compilador
Conceptos de compiladorConceptos de compilador
Conceptos de compiladorJoel Soto
 
Compilador Funcionamiento
Compilador FuncionamientoCompilador Funcionamiento
Compilador FuncionamientoKriz Kozlov
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libreDanielita Lopez
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libreDanielita Lopez
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libreDLACGP
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libreDanielita Lopez
 
Introducción a la programacion 3 Software De Programacion
Introducción a la programacion 3 Software De ProgramacionIntroducción a la programacion 3 Software De Programacion
Introducción a la programacion 3 Software De ProgramacionAndres Garcia
 
C:\fakepath\compiladores
C:\fakepath\compiladoresC:\fakepath\compiladores
C:\fakepath\compiladorespaulina8
 
Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador   Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador ADOLFOISAIASGARCIASI
 
Traducción de un programa: compilación, enlace de un programa, errores en tie...
Traducción de un programa: compilación, enlace de un programa, errores en tie...Traducción de un programa: compilación, enlace de un programa, errores en tie...
Traducción de un programa: compilación, enlace de un programa, errores en tie...Jorge Rodriguez
 
C:\fakepath\compiladores
C:\fakepath\compiladoresC:\fakepath\compiladores
C:\fakepath\compiladorespaulina8
 
Tema 1.3.- Programación
Tema 1.3.- ProgramaciónTema 1.3.- Programación
Tema 1.3.- ProgramaciónYenny Salazar
 
C:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladoresC:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladoresNancyandRegina317
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesIsrael Castillo Cruz
 
Compilador 22 (1)
Compilador 22 (1)Compilador 22 (1)
Compilador 22 (1)still01
 

Similar a Trabajo de presentacion (20)

Conceptos de compilador
Conceptos de compiladorConceptos de compilador
Conceptos de compilador
 
H:\compiladores
H:\compiladoresH:\compiladores
H:\compiladores
 
Compilador Funcionamiento
Compilador FuncionamientoCompilador Funcionamiento
Compilador Funcionamiento
 
Compiladores
CompiladoresCompiladores
Compiladores
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
Introducción a la programacion 3 Software De Programacion
Introducción a la programacion 3 Software De ProgramacionIntroducción a la programacion 3 Software De Programacion
Introducción a la programacion 3 Software De Programacion
 
C:\fakepath\compiladores
C:\fakepath\compiladoresC:\fakepath\compiladores
C:\fakepath\compiladores
 
Traductores de lenguajes
Traductores   de    lenguajesTraductores   de    lenguajes
Traductores de lenguajes
 
Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador   Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador
 
Traducción de un programa: compilación, enlace de un programa, errores en tie...
Traducción de un programa: compilación, enlace de un programa, errores en tie...Traducción de un programa: compilación, enlace de un programa, errores en tie...
Traducción de un programa: compilación, enlace de un programa, errores en tie...
 
C:\fakepath\compiladores
C:\fakepath\compiladoresC:\fakepath\compiladores
C:\fakepath\compiladores
 
Tema 1.3.- Programación
Tema 1.3.- ProgramaciónTema 1.3.- Programación
Tema 1.3.- Programación
 
C:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladoresC:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladores
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretes
 
Compilador 22 (1)
Compilador 22 (1)Compilador 22 (1)
Compilador 22 (1)
 
Algoritmos1
Algoritmos1Algoritmos1
Algoritmos1
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 

Trabajo de presentacion

  • 2. TRABAJO EN CLASE Un compilador es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa equivalente que la máquina será capaz de interpretar. Usualmente el segundo lenguaje es lenguaje de máquina, pero también puede ser un código intermedio (byte code), o simplemente texto. Este proceso de traducción se conoce como compilación.1 Un compilador es un programa que permite traducir el código fuente de un programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior (típicamente lenguaje de máquina). De esta manera un programador puede diseñar un programa en un lenguaje mucho más cercano a como piensa un ser humano, para luego compilarlo a un programa más manejable por una computadora. Como parte importante de este proceso de traducción, el compilador informa a su usuario de la presencia de errores en el programa fuente.
  • 3. EL COMPILADOR PARA LINUX Si bien existen otros compiladores, lo más usual y más sencillo para compilar un programa en GNU/Linux es el compilador gcc, ya que es el que se incluye en todas las distribuciones. De cualquier forma, es posible realizar la compilación desde línea de comandos o desde el entorno gráfico. Para realizarla desde línea de comandos, será necesario contar con una terminal (xterm, konsole, gnome-terminal, etc). No es necesario contar con permisos de root para crear o compilar programas.
  • 4. ETAPAS O FASES PARA LA COMPILACIÓN a compilación es el proceso de traducción de programas fuente a programas objeto. El programa objeto obtenido de la compilación ha sido traducido normalmente al código común del lenguaje de máquina. Para conseguir el programa máquina real se debe utilizar un programa llamado montador o enlazador (linker). El proceso de montaje conduce a un programa en lenguaje máquina directamente ejecutable. Existen diversas fases de compilación o también llamadas etapas de la compilación: • Programa Fuente • Compilador • Programa Objeto • Linker • Ejecutable en Lenguaje Máquina
  • 5. • Programa fuente: Programa escrito en un lenguaje de alto nivel (texto ordinario que contiene las sentencias del programa en un lenguaje de programación). Necesita ser traducido a código máquina para poder ser ejecutado. • Compilador: Programa encargado de traducir los programas fuentes escritos en un lenguaje de alto nivel a lenguaje máquina y de comprobar que las llamadas a las funciones de librería se realizan correctamente. • Programa (o código) objeto: Es el programa fuente traducido (por el compilador) a código máquina. Aún no es directamente ejecutable. • Linker (montador o enlazador): Es el programa encargado de insertar al programa objeto el código máquina de las funciones de las librerías (archivos de biblioteca) usadas en el programa y realizar el proceso de montaje, que producirá un programa ejecutable .exe. Las librerías son una colección de código (funciones) ya programado y traducido a código máquina, listo para utilizar en un programa y que facilita la labor del programador. • Programa Ejecutable: Traducción completa a código máquina, realizada por el enlazador, del programa fuente y que ya es directamente ejecutable.
  • 6. EL COMPILADOR PARA WINDOWS • Para compilar un programa C en entornos Windows, debemos seguir una serie de pasos que varían según el compilador de C que queramos utilizar. Antes que nada, sería bueno que se revises la documentación del compilador elegido para conocer los comandos exactos. • Compilación del código fuente Si se utiliza un entorno de desarrollo, será posible compilar directamente desde el entorno, mediante un botón o una combinación de teclas. Si se ejecuta el compilador desde la línea de comandos, la línea será distinta según compilador utilizado. A continuación algunos ejemplos de ciertos comandos según el compilador: •En C++ de Borland: bcc hola.c •En Visual C de Microsoft: cl hola.c •En GNU gcc: gcc hola.c o cc hola.c •El C de Zortech: ztc hola.c •En Turbo C de Borland es: tcc hola.c el