Domanda

Sono in esecuzione Turbo Pascal 3.01a su CP / M 2.2. Supponiamo che il mio programma Pascal, che ho eseguito utilizzando l'opzione di menu R in Turbo Pascal, ha un bug e va in un ciclo infinito. C'è un carattere di controllo speciale che interromperà il mio programma e il ritorno al menu Turbo Pascal?

È stato utile?

Soluzione

La {U +} direttiva farà sì che il codice compilato per controllare dopo ogni istruzione sia una chiave è stato colpito. In tal caso, la sequenza di tasti sarà controllato per ^ C; se non ^ C la sequenza di tasti verrà scartato. Anche se questo permette utilmente al programma di essere interrotta, si rallenta le cose e anche uccide piuttosto fastidiosamente capacità di immissione facilitata. Purtroppo, CP / M non fornisce alcun tipo di interrupt di tastiera (anche se alcuni CP / M implementazioni potrebbero fornire uno), quindi non c'è davvero alcuna alternativa migliore. Sarebbe bello se Turbo Pascal aveva un'opzione di eseguire il proprio buffer della tastiera, ma non so di qualsiasi.

Altri suggerimenti

All'inizio del vostro programma di Turbo Pascal 3 (sotto la dichiarazione Program) è la direttiva del compilatore {$U+}. Questo dovrebbe consentire di fare un CTRL + C . Utilizzare sempre questo solo mentre si sta debugging del programma in quanto rallenta la velocità di esecuzione del programma. Se funziona bene, rimuoverlo e quindi compilare il programma.

In genere in Turbo Pascal 3 il compilatore ha un set di default del compilatore direttive. Il "U - interrupt utente" è tipicamente disattivata per impostazione predefinita.

L'altra cosa che ho trovato nel mio programma Turbo Pascal proprio di recente è stato stavo usando questo durante il debug il mio programma e per qualche motivo non funzionava. Non so che cosa stava succedendo lì e ho trovato ho dovuto tenere premuto questa combinazione per ottenere il programma per uscire. Incerto se avesse qualcosa a che fare con la velocità di esecuzione del programma o se è stato l'uso di un ciclo annidato che ha portato a questo si verifichi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top