Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
teknopedia

teknopedia

teknopedia

teknopedia

teknopedia

teknopedia
teknopedia
teknopedia
teknopedia
teknopedia
teknopedia
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Cross-compilazione - Teknopedia
Cross-compilazione - Teknopedia
Niente fonti!
Questa voce o sezione sull'argomento linguaggi di programmazione non cita le fonti necessarie o quelle presenti sono insufficienti.

Puoi migliorare questa voce aggiungendo citazioni da fonti attendibili secondo le linee guida sull'uso delle fonti.
Abbozzo
Questa voce sull'argomento linguaggi di programmazione è solo un abbozzo.
Contribuisci a migliorarla secondo le convenzioni di Teknopedia.

La cross-compilazione è la tecnica mediante la quale si compila un codice sorgente con un cross-compilatore, ottenendo così un file binario eseguibile su di un elaboratore con architettura diversa da quella della macchina su cui si è lanciato il cross-compilatore stesso. La cross-compilazione viene usata anche quando è necessario compilare un programma per un sistema operativo differente dalla macchina su cui si trova il compilatore e linker. La macchina che esegue il cross-compilatore viene detta host mentre la macchina sulla quale si eseguirà il binario ottenuto dal processo di cross-compilazione è detta target.

Usi

[modifica | modifica wikitesto]

Sistemi Embedded

[modifica | modifica wikitesto]

Questa tecnica è usata solitamente per compilare applicazioni per sistemi embedded dove le risorse sono generalmente molto limitate e non sarebbe quindi possibile effettuare la normale compilazione. Inoltre molti sistemi embedded, come i microcontrollori, non possiedono nessun sistema operativo ad eccezione di un piccolo BIOS, pertanto non è possibile eseguire nessun compilatore o linker su questi dispositivi.

Sistemi di grandi dimensioni

[modifica | modifica wikitesto]

In una grande azienda o in una server farm che possiede un gruppo non omogeneo di piattaforme hardware e/o software si rende necessaria la tecnica della cross-compilazione quando deve essere distribuito un nuovo software, soprattutto nel caso dell'utilizzo di sistemi operativi differenti.

Nuovi software di base

[modifica | modifica wikitesto]

Le operazioni di scrittura, compilazione e link di nuovi sistemi operativi devono essere necessariamente effettuate su altri sistemi preesistenti per poterlo salvare su un supporto di memorizzazione esterno, dopo aver generato il codice oggetto, con un file system leggibile dal BIOS e poter quindi avviare almeno il primo abbozzo del nuovo sistema operativo, che supporti la compilazione e il linking.

Cross Compilers GNU

[modifica | modifica wikitesto]

Per una cross-compilazione di base con i tool del progetto GNU è necessario avere una toolchain completa di cross-compilatore e delle binutils più la glibc, questi ultimi compilati anch'essi per generare codice per il target. Nel caso invece che si vogliano compilare applicazioni più complesse, come le applicazioni grafiche o che necessitano comunque di particolari librerie extra, è necessario aggiungere alla propria toolchain anche queste librerie preventivamente cross-compilate.

  Portale Informatica: accedi alle voci di Teknopedia che trattano di informatica
Estratto da "https://it.wikipedia.org/w/index.php?title=Cross-compilazione&oldid=136058513"

  • Indonesia
  • English
  • Français
  • 日本語
  • Deutsch
  • Italiano
  • Español
  • Русский
  • فارسی
  • Polski
  • 中文
  • Nederlands
  • Português
  • العربية
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022