Nella programmazione il tempo di esecuzione o runtime è il periodo in cui un programma viene eseguito.
Tradizionalmente, questa contrapposizione era soprattutto intesa rispetto al tempo di compilazione (compile-time), relativa alla stesura e traduzione del programma sorgente; in questa accezione, spesso si usano anche gli aggettivi dinamico e statico per riferirsi rispettivamente al run-time e al compile-time. Nello scenario della programmazione moderna, che comprende una catena di produzione del software più varia e articolata, runtime può essere contrapposto anche ad altri stadi della vita di un programma, come il deployment time, il linking time e il loading time.
Usi tipici
[modifica | modifica wikitesto]- Per errore a runtime si intende un errore in un programma che si manifesta solo durante l'esecuzione, non potendo essere rilevato in fase di compilazione.[1]
- Il runtime system di un programma (o di un linguaggio di programmazione) è l'insieme dell'hardware e del software necessario come piattaforma per l'esecuzione di quel programma (o dei programmi scritti in quel linguaggio).
- Le librerie di runtime di un linguaggio di programmazione sono componenti software necessari a un programma scritto in quel linguaggio per funzionare correttamente; in genere sono raccolte di routine con servizi di base come input/output formattato, manipolazione di stringhe, operazioni matematiche complesse e così via. Con questo significato si trova anche la dizione sintetica runtime per indicare appunto la libreria di una certa applicazione o di un certo ambiente.
- Il collegamento a runtime, o collegamento dinamico, è il collegamento di un programma al suo runtime system durante l'esecuzione; si contrappone al collegamento in fase di compilazione o a quello in fase di caricamento.
Note
[modifica | modifica wikitesto]- ^ Per esempio, un errore di sintassi come una parentesi mancante viene comunemente rilevato dal compilatore del linguaggio; una divisione come
N/M
, doveN
eM
contengono due valori forniti in input dall'utente, è sintatticamente corretta (accettata dal compilatore), ma può causare un errore a runtime nel caso in cui l'utente digiti0
come valore diM
(vedi divisione per zero).