我正在使用 Turbo C 3.0 和 Turbo c 2.0 进行编程。除此之外,我正在使用 Windows XP。在使用 Windows 98 时,上述程序确实运行良好。但是在安装 XP 之后,这些程序真的让我的系统变慢了。即使在空闲时,它们也确实使用了高 CPU 功率(空闲是指“程序和用户之间没有交互”)。
任何人都可以以前解决这个问题,在这里发布。
另外,我想知道是什么导致了这些减速!
我正在使用 Turbo C 3.0 和 Turbo c 2.0 进行编程。除此之外,我正在使用 Windows XP。在使用 Windows 98 时,上述程序确实运行良好。但是在安装 XP 之后,这些程序真的让我的系统变慢了。即使在空闲时,它们也确实使用了高 CPU 功率(空闲是指“程序和用户之间没有交互”)。
任何人都可以以前解决这个问题,在这里发布。
另外,我想知道是什么导致了这些减速!
这些是 16 位 DOS 程序,它们可能无法在 XP 上运行。它们可能在 NT 虚拟 DOS 机器中运行。使用任务管理器,或者更好的是Process Explorer来检查这一点。您可能不会看到您的程序正在运行;而是寻找 ntvdm.exe 的实例。
我注意到几个防病毒程序(Checkpoint、Proventia Desktop)似乎与 ntvdm 有问题。就好像它们在运行 ntvdm 实例时会消耗相当多的 cpu。
另外,Turbo C 对它的扩展内存设置不是很挑剔吗?如果您仍然有 Win98 系统中的 Autoexec.bat 和 Config.sys 文件,您可以尝试更改 XP 的设置以匹配。与这些文件等效的 XP 是 autoexec.nt 和 config.nt;它们位于 Windows\System32 目录中。
我怀疑 Adrian 的评论是正确的答案:旧的 DOS 程序没有考虑多任务处理,因此在“空闲”时倾向于将自己置于紧密循环中。回到过去,这无关紧要,因为同时没有其他东西在运行,操作系统会中断正在运行的程序来处理硬件,嗯,中断。
我强烈建议在现代硬件上避免使用此类工具,因为生成的程序同样不适合多任务处理。它们还将针对古老的处理器进行优化,并且内存寻址有限。如果你有一些旧硬件并且想玩弄它,那就把自己搞砸了。但是有很多现代编译器是免费的(Visual C++ Express 是为了让你着迷,或者是开源的)。
这可以通过设置进程优先级来部分避免。启动应用程序,例如。Turbo C++ 3.0 最小化并进入任务管理器 找到 ntvdm.exe 右键单击 > 设置优先级 > 低 > 是
然后它以不那么烦人的速度运行。