ハングアップしたプログラムを終了し、Turbo Pascal 3 に戻ります。

StackOverflow https://stackoverflow.com/questions/2683631

  •  30-09-2019
  •  | 
  •  

質問

CP/M 2.2 で Turbo Pascal 3.01A を実行しています。Turbo Pascal の R メニュー オプションを使用して実行している Pascal プログラムにバグがあり、無限ループに入ったとします。プログラムを中断して Turbo Pascal メニューに戻る特別な制御文字はありますか?

役に立ちましたか?

解決

{u+}ディレクティブにより、コンパイルされたコードが各ステートメントの後にキーがヒットされているかどうかを確認します。その場合、キーストロークは ^cをチェックします。そうでない場合、 ^cキーストロークは破棄されます。これにより、プログラムを中止することができますが、物事を遅くし、むしろタイプの能力を悩ませて殺します。残念ながら、CP/Mはキーボード割り込みを提供していません(一部のCP/M実装は提供する可能性がありますが)。実際、より良い代替手段はありません。 Turbo Pascalに独自のキーボードバッファリングを実装するオプションがあれば、それは素晴らしいことですが、私は知りません。

他のヒント

Turbo Pascal 3 プログラムの開始時 ( Program ステートメント) はコンパイラ指令です {$U+}. 。これにより、次のことができるようになります。 CTRL + C. 。プログラムの実行速度が低下するため、これは常にプログラムのデバッグ中にのみ使用してください。正常に動作する場合は、それを削除してプログラムをコンパイルします。

通常、Turbo Pascal 3 では、コンパイラには一連のデフォルト コンパイラ ディレクティブがあります。通常、「U - ユーザー割り込み」はデフォルトでオフになっています。

つい最近、Turbo Pascal プログラムで見つけたもう 1 つのことは、プログラムのデバッグ中にこれを使用していたのですが、何らかの理由で動作しなかったことです。そこで何が起こっているのかわかりませんでしたが、プログラムを終了するにはこの組み合わせを本当に押し続ける必要があることがわかりました。プログラムの実行速度に関係があるのか​​、それとも入れ子になったループの使用がこの問題を引き起こしたのかは不明です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top