我在CP/M 2.2上运行Turbo Pascal 3.01A.假设我使用Turbo Pascal中的R菜单选项运行的Pascal程序有一个错误并进入无限循环.是否有一个特殊的控制字符会中断我的程序并返回到Turbo Pascal菜单?
{U +}指令将使编译后的代码在每个语句后检查是否已经命中某个键.如果是这样,将检查键击^ C; 如果不是^ C键击将被丢弃.虽然这有效地允许程序中止,但它会减慢速度并且还会令人烦恼地杀死类型提前能力.不幸的是,CP/M不提供任何类型的键盘中断(尽管一些CP/M实现可能提供一个),所以没有更好的替代方案.如果Turbo Pascal有选择实现自己的键盘缓冲会很好,但我不知道.
小智 5
在 Turbo Pascal 3 程序的开头(在Program语句下)是 Compiler Directive {$U+}。这应该允许您执行CTRL+ C。只有在调试程序时才使用它,因为它会降低程序的执行速度。如果它运行正常,请将其删除,然后编译您的程序。
通常在 Turbo Pascal 3 中,编译器有一组默认编译器指令。“U - 用户中断”通常默认关闭。
我最近在 Turbo Pascal 程序中发现的另一件事是我在调试程序时使用它,但由于某种原因它不起作用。不知道那里发生了什么,发现我真的必须按住这个组合才能退出程序。不确定它是否与程序的执行速度有关,或者是否使用嵌套循环导致了这种情况的发生。