cromo La guida di Cromo
PDF EN

Appendice B: Il comando cromo

cromo è l'unico strumento di Cromo: il compilatore, il linker, il test runner, il formattatore e il language server, in un solo eseguibile.

cromo <command> [options] [file.cro] [-- arguments]

Se non indichi un file, i comandi usano il main.cro della cartella corrente.

#Comandi

ComandoCosa fa
cromo build [file.cro]compila il programma in un eseguibile
cromo run [file.cro] [-- arguments]compila il programma in una cartella temporanea, lo esegue con gli argomenti che seguono -- e termina con il suo codice di uscita
cromo test [file.cro] [names]esegue le funzioni [[test]] del programma e dei suoi moduli; i nomi selezionano i test che li contengono
cromo fmt [--check] [files and folders | -]formatta il codice, di default quello della cartella corrente e delle sue sottocartelle; --check si limita a elencare i file da formattare; - formatta lo standard input
cromo lspil language server, per gli editor, su standard input e standard output
cromo versionstampa la versione di cromo e di LLVM
cromo helpelenca i comandi

#Opzioni di build e run

OpzioneSignificato
-o <file>il nome dell'eseguibile; di default il nome del sorgente, o della cartella se non c'è un file, con .exe per Windows
--releasein caso di overflow gli interi ricominciano dall'estremo opposto, invece di fermare il programma
--target windows, --target linuxil sistema dell'eseguibile; di default quello su cui gira cromo
-O0 … -O3il livello di ottimizzazione; il default è -O2
--emit-irstampa l'LLVM IR del programma invece di scrivere l'eseguibile

#Debug e release

Debug (default)--release
Ottimizzazione-O2-O2
Overflow degli interipanicricominciano dall'estremo opposto
Limiti degli indici, divisione per zero, esclusivitàcontrollaticontrollati
Tracce dello stacksìsì
Informazioni per il debuggersì: PDB su Windows, DWARF su Linuxno

Con -O0 un debugger mostra ogni variabile; con le ottimizzazioni, alcune possono risultare optimized out.

#Codici di uscita

CodiceSignificato
0il programma è terminato normalmente, o main ha restituito 0
1un'eccezione è uscita da main, oppure cromo ha trovato degli errori
101un panic, o uno stack overflow
altroil valore restituito da main, o passato a os.exit

#File

PercorsoContenuto
~/.cromo/current/bin/cromola versione attiva, raggiunta dal PATH
~/.cromo/versions/<version>le versioni installate
lib/ accanto a bin/la libreria standard e il runtime, che cromo legge

Su Windows, ~ è %USERPROFILE%.