2025-03-14 21:59:59 -06:00
|
|
|
# clang
|
|
|
|
|
|
2026-08-06 22:19:46 -06:00
|
|
|
> Compila sorgenti C, C++ e Objective-C. Può essere usato come sostituto diretto di GCC.
|
|
|
|
|
> Parte di LLVM.
|
2025-03-14 21:59:59 -06:00
|
|
|
> Maggiori informazioni: <https://clang.llvm.org/docs/ClangCommandLineReference.html>.
|
|
|
|
|
|
2026-08-06 22:19:46 -06:00
|
|
|
- Compila più file sorgente in un eseguibile:
|
2025-03-14 21:59:59 -06:00
|
|
|
|
2026-08-06 22:19:46 -06:00
|
|
|
`clang {{percorso/del/sorgente1.c percorso/del/sorgente2.c ...}} {{[-o|--output]}} {{percorso/dell/eseguibile_output}}`
|
2025-03-14 21:59:59 -06:00
|
|
|
|
2026-08-06 22:19:46 -06:00
|
|
|
- Attiva l'output di tutti gli errori e i warning:
|
2025-03-14 21:59:59 -06:00
|
|
|
|
2026-08-06 22:19:46 -06:00
|
|
|
`clang {{percorso/del/sorgente.c}} -Wall {{[-o|--output]}} {{eseguibile_output}}`
|
2025-03-14 21:59:59 -06:00
|
|
|
|
2026-08-06 22:19:46 -06:00
|
|
|
- Mostra i warning più comuni, i simboli di debug nell'output e ottimizza senza compromettere il debug:
|
2025-03-14 21:59:59 -06:00
|
|
|
|
2026-08-06 22:19:46 -06:00
|
|
|
`clang {{percorso/del/sorgente.c}} -Wall {{[-g|--debug]}} -Og {{[-o|--output]}} {{percorso/dell/eseguibile_output}}`
|
2025-03-14 21:59:59 -06:00
|
|
|
|
2026-08-06 22:19:46 -06:00
|
|
|
- Includi librerie da un percorso diverso:
|
2025-03-14 21:59:59 -06:00
|
|
|
|
2026-08-06 22:19:46 -06:00
|
|
|
`clang {{percorso/del/sorgente.c}} {{[-o|--output]}} {{percorso/dell/eseguibile_output}} -I{{percorso/del/header}} -L{{percorso/della/libreria}} -l{{nome_libreria}}`
|
|
|
|
|
|
|
|
|
|
- Compila il codice sorgente in LLVM Intermediate Representation (IR):
|
|
|
|
|
|
|
|
|
|
`clang {{[-S|--assemble]}} -emit-llvm {{percorso/del/sorgente.c}} {{[-o|--output]}} {{percorso/dell/output.ll}}`
|
|
|
|
|
|
|
|
|
|
- Compila il codice sorgente in un file oggetto senza fare il linking:
|
|
|
|
|
|
|
|
|
|
`clang {{[-c|--compile]}} {{percorso/del/sorgente.c}}`
|
|
|
|
|
|
|
|
|
|
- Ottimizza il programma compilato per le prestazioni:
|
|
|
|
|
|
|
|
|
|
`clang {{percorso/del/sorgente.c}} -O{{1|2|3|fast}} {{[-o|--output]}} {{percorso/dell/eseguibile_output}}`
|
|
|
|
|
|
|
|
|
|
- Mostra la versione:
|
|
|
|
|
|
|
|
|
|
`clang --version`
|