GNU Compiler Collection: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
corretto il reindirizzamento errato Wikipedia Z8000 al processore Zilog_Z8000 |
fix |
||
(4 versioni intermedie di 3 utenti non mostrate) | |||
Riga 11:
}}
'''
Nato inizialmente come un compilatore per il [[C (linguaggio)|linguaggio C]], dispone oggi di vari ''[[
== Storia ==
Riga 62:
== SDCC (Small Device C Compiler) ==
L'[https://web.archive.org/web/20190430033914/http://sdcc.sourceforge.net/ SDCC] ([[Small Devices C Compiler]]) è un [[porting]] [[open source]] per i microcontrollori delle sole famiglie [[Z80]], [[8051]], [[68HC11]], [[PIC (microcontrollore)|Pic]] è stato separato dal progetto GCC per poter ottimizzare meglio il lavoro dei [[microcontrollori]], dove serve una grande efficienza del compilatore e contemporaneamente vivere in un ambiente molto povero di risorse [[RAM]] e [[Read-Only Memory|ROM]], con interfacce personalizzate e dotato di registri speciali incompatibili con l'elaborazione.
Line 70 ⟶ 69:
== Utilizzo e funzionamento ==
GCC, in quanto compilatore, ha come scopo primario la traduzione di [[codice sorgente]] in [[Linguaggio macchina|codice macchina]] eseguibile.
Line 79 ⟶ 77:
gcc main.c
</syntaxhighlight>
che ordina al compilatore di leggere il file <code>main.c</code> (<code>.c</code> è l'[[Estensione (file)|estensione]] standard dei file contenenti [[C (linguaggio)|codice C]]) e compilarlo. Poiché non è stato specificato
La compilazione avviene in tre fasi:
# il file da compilare viene trattato dal [[preprocessore]], che analizza le direttive scritte per il compilatore (definite in alcune righe del codice, solitamente posizionate in testa al file e precedute dal carattere <code>#</code>). Se eseguito con il parametro <code>-E</code>, gcc esegue solo questo passo, fornendo in output il risultato delle attività del preprocessore;
# nella seconda fase, il file dà origine a un nuovo [[Codice oggetto|file oggetto]], che non è ancora eseguibile;
# a questo punto entra in funzione il [[Linking|linker]] che produce un unico [[file eseguibile]], contenente il tutto, unendo tra loro tutti i file oggetto e i file delle [[Libreria software|librerie]]. Se si desidera non incorporare il codice delle librerie nel file eseguibile, si può usare il [[Dynamic-link library|collegamento dinamico]].
Line 90 ⟶ 88:
== Altri progetti ==
{{interprogetto|preposizione=sul}}
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{FOLDOC|GCC|GCC}}
* {{cita web | 1 = http://www.network-theory.co.uk/docs/gccintro/ | 2 = An Introduction to GCC | accesso = 16 maggio 2010 | urlarchivio = https://web.archive.org/web/20100531171042/http://www.network-theory.co.uk/docs/gccintro/ | dataarchivio = 31 maggio 2010 | urlmorto = sì }}
|