Edizione didattica italiana
Clang e GCC per il C
Confronta i compilatori con lo stesso standard, gli stessi avvisi e lo stesso programma.

GCC è la GNU Compiler Collection; Clang è un frontend del progetto LLVM. Entrambi compilano C. Parti dallo strumento richiesto dal corso o progetto, poi usa l’altro per verificare la portabilità quando possibile.
Scegli lo stesso standard, per esempio -std=c17, e gli avvisi -Wall -Wextra -Wpedantic. Versioni, estensioni e librerie influenzano il risultato. Una diagnostica diversa non prova che un compilatore sbagli.
Non presumere che uno strumento produca sempre codice più veloce. Verifica prima la correttezza e poi misura un carico rappresentativo con impostazioni comparabili.
Usare entrambi può rivelare dipendenze da estensioni e comportamenti indefiniti. Il servizio online sceglie il proprio motore: confronti locali richiedono installazioni separate.
Codice sorgente
#include <stdio.h>
int main(void)
{
int values[] = {3, 5, 7};
int total = 0;
size_t count = sizeof values / sizeof values[0];
for (size_t i = 0; i < count; ++i) {
total += values[i];
}
printf("Total: %d\n", total);
return 0;
}Apri nel compilatoreDomande frequenti
Perché il codice e alcuni risultati restano in inglese?
Parole chiave C, identificatori, commenti del programma e output attesi restano quelli originali per preservare codice eseguibile e test coerenti. Spiegazioni e istruzioni sono tradotte.