Categories: Linux

Compilazione degli Strumenti di Sviluppo di Linux

Questa volta ci occuperemo di compilare il compilatore e linker GCC per il nostro sistema Linux. Prima di occuparci della compilazione di GCC, dobbiamo creare i pacchetti che sono necessari al compilatore della GNU: Linux Headers, GMP, MPFR ed MPC.
Il pacchetto Linux Headers contiene tutti i file di intestazione che servono per compilare il sistema e si possono trovare nei sorgenti del kernel:

  • /usr/include/asm/*.h
  • /usr/include/asm-generic/*.h
  • /usr/include/drm/*.h
  • /usr/include/linux/*.h
  • /usr/include/mtd/*.h
  • /usr/include/rdma/*.h
  • /usr/include/scsi/*.h
  • /usr/include/sound/*.h
  • /usr/include/video/*.h
  • /usr/include/xen/*.h

Il pacchetto GMP ( GNU Multiple Precision Library) contiene alcune librerie matematiche, è utile per le operazioni aritmetiche con numeri a precisione arbitraria:

  • libgmp – Libreria per funzioni matematiche per numeri in virgola mobile per il linguaggio C
  • libgmpxx – Libreria per funzioni matematiche per numeri in virgola mobile per il linguaggio C++
  • libmp – Libreria per le funzioni matematiche di Berkeley MP

Il pacchetto MPFR contiene una libreria per il linguaggio C basata su GMP per il calcolo del corretto arrotondamento:

  • libmpfr.{a,so} – Libreria a collegamento sia statico che dinamico per gli arrotondamenti matematici con i numeri a precisione multipla

Il pacchetto MPC contiene una libreria basata sugli stessi principi di MPFR e serve per i calcoli matematici con numeri complessi:

  • libmpc.{a,so} – Libreria a collegamento sia statico che dinamico per gli arrotondamenti matematici con i numeri complessi

Il pacchetto GCC contiene una collezione di compilatori e librerie sia per C che per C++ della GNU:

  • c++ – Un compilatore per il linguaggio C++
  • cc – Un compilatore per il linguaggio C
  • cpp – Il preprocessore per il linguaggio C/C++
  • g++ – Un compilatore per il linguaggio C++
  • gcc – Un compilatore per il linguaggio C
  • gccbug – Un programma a riga di comando per creare dei report sugli errori
  • gcov – Uno strumento per determinare dove le ottimizzazioni hanno maggiori effetti
  • libgcc – Libreria che contiene il run-time per GCC
  • libgcov – Libreria per abilitare la profilatura delle applicazioni
  • libgomp – Libreria per l’implementazione della GNU di OpenMP per la programmazione multipiattaforma con memoria condivisa ed in parallelo per i linguaggi C/C++ e Fortran
  • libmudflap – Libreria che contiene funzioni per il supporto alla verifica dei limiti di GCC
  • libssp – Libreria contenente funzioni per la protezione dello stack
  • libstdc++ – La libreria standard del linguaggio C++
  • libsupc++ – Libreria che contiene funzioni a supporto del linguaggio C++

Per maggiori informazioni sull’uso del compilatore GCC vi invito a leggere questo articolo, mentre i sorgenti con cui ho creato questi pacchetti sono in questo file.

<< Lezione Precedente – Inizio TutorialLezione Successiva >>

Share
Giampaolo Rossi

Sviluppatore di software gestionale da oltre 28 anni.

Recent Posts

MerciGest: il gestionale di magazzino semplice e gratuito

MerciGest è il software gestionale gratuito per Windows che semplifica la gestione del magazzino: giacenze,…

4 giorni ago

Software gestionali con SQL Server: un archivio unico, accessibile ovunque

Tutti i nostri software gestionali possono essere collegati a un database SQL Server, consentendo l’accesso…

6 giorni ago

Come iniziare ad usare MerciGest in 5 minuti

MerciGest è semplice e immediato: basta scaricare e installare il programma per iniziare subito. Al…

1 settimana ago

Cos’è MerciGest e a chi serve

MerciGest è un gestionale di magazzino per Windows pensato per negozi, piccole imprese e artigiani…

2 settimane ago

Introduzione alla Standard Template Library (STL)

La Standard Template Library (STL) è una delle componenti più potenti del C++. Fornisce una…

7 mesi ago

Un Abbonamento per Tutti i Software

Sono arrivato alla convinzione che un abbonamento per tutti i miei software gestionali sia il…

2 anni ago