在Freedos中运行Turbo C++

Run Turbo C++ in Freedos

本文关键字:Turbo C++ 运行 Freedos      更新时间:2023-10-16

我想在FreeDos中运行Turbo C++。我曾经在DosBox中运行它,但现在我决定在我的台式PC上测试FreeDos。

但是每次我尝试运行它时,光标都会闪烁并且没有任何反应(在我输入命令并按回车键后),提示不返回( C:> ),我必须通过按电源按钮重新启动系统。我的问题是:

  1. 我怎样才能实际运行它?它是否需要额外的驱动程序或文件?

  2. 如果无法运行,您是否还有其他C++ IDE?也许你自己的 IDE?

附言我已经使用 Rufus 的 freedos 选项安装了 FreeDos。

FreeDOS不是MS-DOS,所以不兼容是意料之中的。然而,我没有接触过FreeDOS,但这里有一些提示(来自MS-DOS,所以它们应该或多或少也适用于FreeDOS)。

  1. 没有himem.sys你就没有高记忆

    力所以你只有 640 KB 而不是 1 MByte。这还不多,因为有些程序甚至需要 540 KB...

  2. 没有Emm386.exeQEMM386你就没有XMS内存

    如果我的记忆效果很好,那么DPMI驱动程序将无法工作,涡轮增压器需要。

  3. 没有适当的autoexec.batconfig sys什么都行不通

    您没有路径、设备驱动程序(鼠标、CDROM等)和集(如声卡)。如果您不知道要放入什么,请从DOSBOX复制它们(减去DOSBOX安装行)。没有路径通常也意味着没有command.com所以你没有 shell,所以没有命令可以工作

  4. 您使用什么文件系统?

    我不会为旧的DOS使用FAT16。仅将FAT32用于较新的MS-DOS版本(来自 win98)。不要使用NTFSEXT,即使您有驱动程序一直导致问题......

  5. 计算机速度

    许多DOS程序基于BorlandsCRT库。随着计算机的加速,这在后来引起了很多问题。如果我没记错的话,这是由它引起的runtime error 200。要纠正此类程序,您可以做两件事。修补或重新编译其中的CRT库(有一些修复程序)或转到BIOS并关闭CPU缓存(L1,L2..)。这将使您的现代计算机变成非常快的 386 它仍然应该通过 CRT 初始化。否则时间关闭,程序崩溃/挂起等...DOSBOX模拟器旨在以原始速度而不是尽可能快的速度运行程序,因此如果使用它,则无需进一步调整。

  6. 记忆

    旧的DOS不能处理超过64 MByte,即使这样,有些程序也存在问题。最安全的方法是将可用内存限制为 32 MByte。我通常使用RAMDISC和/或SMARTDRIVE缓冲区来做到这一点,因此只剩下32 MByte的内存留给DOS程序。(如果您看到负数,您可以使用mem命令查看您的状态,您正在跨越障碍并需要增加SMARTDRIVERAMDISK的使用)。

    不要忘记不时和退出之前保存SMARTDRIVE缓冲区,以避免在发生重置或崩溃/挂起/冻结时丢失数据...最好将Volcov指挥官(或诺顿指挥官)与预定义的菜单一起使用以进行此类操作。您甚至可以将文件扩展名与查看器编辑器和IDE相关联。因此,如果您执行asmcpp它会在您喜欢的IDE端被编译或打开,依此类推......

以下是autoexec.batconfig.sys的例子(取自我古老的MS-DOS救援光盘):

自动执行.bat

@echo off
PROMPT $P$G
PATH e:rescue;e:rescuedos98;e:rescuevcnew;e:rescuepack;e:rescueviews
e:
cd rescue
SET TEMP=e:rescuetemp
SET BLASTER=A220 I5 D1 H5 P330 E620 T6
SET SOUND=e:rescueSB16
SET MIDI=SYNTH:1 MAP:E MODE:0
e:rescueSB16DIAGNOSE /S
e:rescueSB16AWEUTIL /S
e:rescueSB16MIXERSET /P /Q
goto %config%
:a
:b
:c
:d
:e
lh gmouse
LH vc

配置.sys

;devicehigh=e:rescuedos98interlnk.exe
shell e:rescuedos98command.com e:rescuedos98 /P
lastdrive=M
files=50
buffers=8
stacks=0,0
DOS=HIGH,UMB
[menu]
menuitem=a,QEMM
menuitem=b,EMM EMS
menuitem=c,EMM NOEMS
menuitem=d,STANDART
menuitem=e,RAMDISK 32MB
menudefault=d,1
[a]
device=e:rescuedos98qemm386.sys RAM BE:N
[b]
device=e:rescuedos98himem.sys 
devicehigh=e:rescuedos98emm386.exe rammax
[c]
device=e:rescuedos98himem.sys
devicehigh=e:rescuedos98emm386.exe noems
[d]
device=e:rescuedos98himem.sys
[e]
device=e:rescuedos98himem.sys
devicehigh=e:rescuedos98ramdrive.sys 32767 /e

它具有启动菜单,您可以在其中选择所需的配置。只需更改驱动器号和路径即可。当心:a,:b,...[a],[b],...不是驱动器号,而是菜单项。

shell是 command.com 位置。gmouse是鼠标驱动程序(不是DOS的一部分,您需要下载它),vc是Volcov commander文件管理器(你并不真正需要它,它也不是DOS的一部分,但拥有它确实是一个好主意。您可以忽略SB16和声音冲击波设置,因为您不太可能获得相同的声卡,甚至完全兼容SB而没有任何仿真/驱动程序。

e:rescuedos98是我的MS-DOS命令的位置,因此请将其替换为您的位置。

cd命令更改目录,lh加载到高内存而不是基本内存中以保留基本内存。

如果我在哪里避免兼容性问题,我会尝试获得MS-DOS 6.22

所以我敢打赌,你得到了提到的所有问题的任何组合,使你的操作系统无法运行。