Compilador creuat

és un compilador capaç de crear codi executable per a una plataforma diferent a la d'on s'executa el compilador.

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]

Exemple d sistema de plataforma creuada per a telèfons mòbils.

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

  1. «What is Cross Compiler?» (en anglès). https://www.geeksforgeeks.org,+13-09-2022.+[Consulta: 12 novembre 2022].
  2. «Cross compiler - CodeDocs» (en anglès). https://codedocs.org.+[Consulta: 12 novembre 2022].
  3. «Difference between Native compiler and Cross compiler» (en anglès). https://www.geeksforgeeks.org,+29-04-2020.+[Consulta: 12 novembre 2022].
  4. chekkizhar. «Cross-compiling for ARM» (en anglès). https://www.linux.com,+27-07-2011.+[Consulta: 12 novembre 2022].