Compilador creuat
Un compilador creuat és un compilador capaç de crear codi executable per a una plataforma diferent a la d'on s'executa el compilador. Per exemple, un compilador que s'executa en un ordinador però que genera codi que s'executa en un telèfon intel·ligent Android és un compilador creuat.[1]
Un compilador creuat és útil per compilar codi per a diverses plataformes des d'un amfitrió de desenvolupament. La compilació directa a la plataforma de destinació pot ser inviable, per exemple en sistemes encastats amb recursos informàtics limitats.[2]
Els compiladors creuats són diferents dels compiladors d'origen a font. Un compilador creuat és per a la generació de programari multiplataforma de codi màquina, mentre que un compilador d'origen a font tradueix d'un llenguatge de codificació a un altre en codi de text. Tots dos són eines de programació.[3]
L'ús fonamental d'un compilador creuat és separar l'entorn de compilació de l'entorn de destinació. Això és útil en diverses situacions:
- Ordinadors incrustats on un dispositiu té recursos molt limitats. Per exemple, un forn de microones tindrà un ordinador extremadament petit per llegir el seu teclat i el sensor de la porta, proporcionar sortida a una pantalla digital i un altaveu i controlar el microones per cuinar aliments. Aquest ordinador generalment no és prou potent per executar un compilador, un sistema de fitxers o un entorn de desenvolupament.
- Compilació per a diverses màquines. Per exemple, una empresa pot voler donar suport a diverses versions diferents d'un sistema operatiu o donar suport a diversos sistemes operatius diferents. Mitjançant un compilador creuat, es pot configurar un únic entorn de compilació per compilar per a cadascun d'aquests objectius.
- Compilant en una granja de servidors. De manera similar a la compilació per a diverses màquines, una compilació complicada que implica moltes operacions de compilació es pot executar a qualsevol màquina que sigui gratuïta, independentment del seu maquinari subjacent o de la versió del sistema operatiu que s'executi.
- Bootstrapping a una nova plataforma. Quan es desenvolupa programari per a una plataforma nova, o l'emulador d'una plataforma futura, s'utilitza un compilador creuat per compilar les eines necessàries com ara el sistema operatiu i un compilador natiu.
- Compilant codi natiu per a emuladors per a plataformes més antigues ara obsoletes com el Commodore 64 o l'Apple II per entusiastes que utilitzen compiladors creuats que s'executen en una plataforma actual (com ara els compiladors creuats MS-DOS 6502 d'Aztec C que s'executen amb Windows XP).[4]
Referències
modifica- ↑ «What is Cross Compiler?» (en anglès). https://www.geeksforgeeks.org,+13-09-2022.+[Consulta: 12 novembre 2022].
- ↑ «Cross compiler - CodeDocs» (en anglès). https://codedocs.org.+[Consulta: 12 novembre 2022].
- ↑ «Difference between Native compiler and Cross compiler» (en anglès). https://www.geeksforgeeks.org,+29-04-2020.+[Consulta: 12 novembre 2022].
- ↑ chekkizhar. «Cross-compiling for ARM» (en anglès). https://www.linux.com,+27-07-2011.+[Consulta: 12 novembre 2022].