Você está na página 1de 4

1.

COMPILADORES CRUZADOS
Generan
funcionando.

cdigo

para

un

sistema

distinto

del

que

estn

A. Caractersticas:
Un compilador cruzado (crosscompiler ) es aquel que genera
cdigo ejecutable para una plataforma diferente a aquella en la
que se ejecuta. Esta herramienta es til cuando quiere compilarse
cdigo para una plataforma a la que no se tiene acceso, o cuando
es incmodo o imposible compilar en dicha plataforma (como en el
caso de los sistemas empotrados). Por ejemplo, supongamos que
queremos desarrollar aplicaciones para un telfono mvil, una PDA
o una consola de videojuegos. Normalmente ser ms cmodo
realizar el desarrollo en un PC y luego volcar el cdigo objeto en el
dispositivo de destino. En estas situaciones, el compilador que
usaremos en el PC es un caso de compilador cruzado.
Un ejemplo de un compilador con estas posibilidades es el NASM,
que puede ensamblar, entre otros formatos, ELF (para sistemas
UNIX) y COM (para DOS).

B. Uso de los compiladores cruzados


El uso fundamental de un compilador cruzado es compilar para un
entorno diferente en el que se ejecuta el compilador. Esto es muy
utilizado en las siguientes situaciones:

Sistemas
empotrados,
dnde
los
extremadamente limitados.
Compilacin para mltiples mquinas.

recursos

son

Un compilador cruzado es un compilador capaz de crear cdigo


ejecutable para una plataforma distinta a aquella en la que se
ejecuta el compilador. Herramientas del compilador de la Cruz se
encuentran generalmente en uso para generar compila para
sistemas embebidos o plataformas mltiples.
Es una herramienta que se debe utilizar para una plataforma en la
que es inconveniente o imposible compilar en dicha plataforma,
como los micros controladores que se ejecutan con una cantidad

mnima de memoria para sus propios fines. Se ha vuelto ms


comn el uso de esta herramienta para la para virtualizacin que
un sistema puede tener una o ms plataformas en uso.

C. Utilizacin de compiladores cruzados


El uso fundamental de un compilador cruzado es separar el
entorno de construccin del entorno de destino. Esto es til en
diversas situaciones:
o Ordenadores integrados en un dispositivo tiene
recursos extremadamente limitados. Por ejemplo, un
horno de microondas tendr un pequeo equipo muy a leer y
la puerta de su sensor de tacto, dar la salida a una pantalla
digital y altavoces, y controlar la maquinaria para la coccin
de alimentos. Este equipo no ser lo suficientemente
potente como para ejecutar un compilador, un sistema de
archivos o un entorno de desarrollo. Desde la depuracin y
las pruebas tambin pueden requerir ms recursos que
estn disponible en un sistema integrado, de compilacin
cruzada puede tener una mayor participacin y propenso a
errores que los compilacin nativa.
o Compilacin de varios equipos. Por ejemplo, una
empresa de la posibilidad de apoyar varias versiones
diferentes de un sistema operativo o de soporte a varios
sistemas operativos diferentes. Mediante el uso de un
compilador cruzado, una sola estructura medio ambiente
puede ser configurada para compilar para cada uno de estos
objetivos. Compilar en una granja de servidores. Al igual que
compilar para varias mquinas, una construccin compleja
que involucra muchos compilar las operaciones se pueden
ejecutar en cualquier mquina que es gratis sin importar su
marca o la versin actual de un sistema operativo.
o Atar con correa a una nueva plataforma. Cuando el
desarrollo de software para una plataforma nueva, o el
emulador de una plataforma de futuro, se utiliza un
compilador cruzado para compilar las herramientas
necesarias, tales como el sistema operativo y un compilador
nativo. El uso de mquinas virtuales (como la JVM de Java)
resuelve algunas de las razones por las que se desarrollaron

compiladores cruzados. El paradigma de la mquina virtual


permite la salida del compilador mismo para ser utilizado a
travs de sistemas objetivos mltiples.
Tpicamente, la arquitectura de hardware diferente (por ejemplo,
compilar un programa destinado a la arquitectura MIPS en un
equipo x86), pero de compilacin cruzada tambin se aplica
cuando slo el entorno de sistema operativo diferente, como
cuando se compila un programa bajo Linux Free BSD, o incluso
simplemente el sistema de bibliotecas, ya que al compilar
programas con uClibc en un host glibc.
Los programas que utilizan los usuarios para ejecutar esta
herramienta no necesitan estar escrito los programas de usuario
en cdigo Maquina 0 ensamblador, lo puede hacer en lenguaje C.
El compilador cruzado que viene con la instalacin de Nachos es
capaz de traducir de Cacdigo del MIPS. El compilador cruzado que
se distribuye con el Nachos es una versin del popular compilador
GCC. Funciona sobre prcticamente cualquier versin de Linux

2. COMPILADOR AUTO COMPILADOR:


Compilador que est escrito en el mismo lenguaje que va a
compilar. Evidentemente, no se puede ejecutar la primera vez.
Sirve para hacer ampliaciones al lenguaje, mejorar el cdigo
generado, etc. Cuando se extiende entre muchas mquinas
diferentes el uso de un compilador, y ste se desea mejorar, el
nuevo compilador se escribe un compilador ms potente de ese
mismo lenguaje.
Usuarios con ms experiencia en LaTeX, y dependiendo del editor
o mecanismo que utilicen para compilar documentos, encontrarn
ms y ms desconcertante el nmero de veces que hay que
procesar un documento y con diferentes herramientas. Por qu es
que hay que hacer pdflatex + bibtex + pdflatex + pdflatex para
ver el resultado final de un documento?.
En este caso la respuesta viene tambin de una historia donde las
computadoras solan ser algo ms lentas y este modo de
compilacin incremental podra hacer el ciclo de editar-compilarvisualizar un poco ms fluido.

En fin, el problema se complica tambin un poco ms porque el


nmero de veces que hay que compilar un documento, y con qu
herramientas, depende del resultado de las compilaciones
anteriores. Adems, en lo posible, a uno le gustara no tener que
volver a compilar o aplicar herramientas que no sean necesarias
si, por ejemplo, la bibliografa o el nmero de referencias no se han
modificado.
Lo bueno es que alguien finalemnte se sent a pensar y resolver el
problema y creo el scriptlatexmk que hace precisamente esto. No
voy a recomendar el uso de este script para nuevos usuarios, pero
si tienes experiencia con lineas de comando, usar y configurar
scripts tipo Unix, definitivamente dale una revisada a esta
herramienta.
La instalacin es relativamente sencilla: tienes que copiar el script
en algn lugar accesible en tu $PATH, digamos en ~/Library/bin, y
para
activar
la
compilacin
en
modo pdfcrear
el
archivo ~/.latexmkrc y escribir en l la siguiente lnea:
$pdf_mode = 1;
Despus puedes generar la versin final de tu documento con
ejecutar el siguiente comando una sla vez.
latexmk archivo.tex
Para usar latexmk como el motor para compilar en TeXShop hay
que
crear
tambin
el
archivo~/Library/TeXShop/Engines/latexmk.engine que
contenga
algo como:
#!/bin/sh
~/Library/bin/latexmk "$1"
Despus de reiniciar TeXShop, la opcin para compilar
con latexmk aparecer en el men de opciones junto al botn de
Typeset.

Você também pode gostar