在Freedos中运行Turbo C ++

时间:2017-09-30 18:28:12

标签: c++ ide dos turbo-c++

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

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

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

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

  3. P.S。我使用Rufus的freedos选项安装了FreeDos。

1 个答案:

答案 0 :(得分:2)

FreeDOS 不是 MS-DOS ,因此预计不兼容。但是我没有接触到 FreeDOS ,但这里有一些提示(来自 MS-DOS 所以他们应该或多或少地适用于 FreeDOS as孔)。

  1. 没有himem.sys您没有高记忆

    所以你只需要640 KByte而不是1 MByte。这并不是一些程序甚至需要540 KBy ...

  2. 没有Emm386.exeQEMM386您没有XMS内存

    如果我的记忆力很好,那么 DPMI 驱动程序将无法满足turbo的需求。

  3. 没有合适的autoexec.batconfig sys无效

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

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

    对于较旧的DOS,我不会去 FAT16 。仅对较新的 MS-DOS 版本(来自win98)使用 FAT32 。不要使用 NTFS EXT ,即使您的驱动程序始终存在问题......

  5. 计算机速度

    许多基于Borlands CRT 库的 DOS 程序。随着计算机的加速,这在以后引发了很多问题。如果我没记错的话,由此引起了runtime error 200。要修复此类程序,您可以做两件事。修补或重新编译其中的CRT lib(有一些修复)或转到BIOS并关闭 CPU CACHE (L1,L2 ..)。这将使您的现代计算机变得非常快386那仍然应该通过CRT初始化。否则时间关闭,程序崩溃/挂起等... DOSBOX 仿真速度太慢,因此无需任何调整即可轻松传递。

  6. <强>内存

    旧的 DOS 无法处理64 MB以上的程序,有些程序甚至出现问题。最安全的方法是将可用内存限制为32 MByte。我通常使用 RAMDISC SMARTDRIVE 缓冲区来完成它,因此 DOS 程序只剩下32 MB内存。 (您可以使用mem命令查看您的状态是什么,如果您看到正在跨越障碍的负数,需要增加 SMARTDRIVE RAMDISK 的使用率

    不要忘记在出站之前不时保存 SMARTDRIVE 缓冲区以避免在重置或崩溃/挂起/冻结时丢失数据...使用 Volcov指挥官(或诺顿指挥官),为此类操作提供预定义菜单。您甚至可以将文件扩展名与查看者编辑者和 IDE 相关联。因此,如果您执行asmcpp,则会在您首选的 IDE 结尾编译或打开...

  7. 此处autoexec.batconfig.sys的示例(取自我古老的 MS-DOS 救援光盘):

    <强>的Autoexec.bat

    @echo off
    PROMPT $P$G
    PATH e:\rescue;e:\rescue\dos98;e:\rescue\vcnew;e:\rescue\pack;e:\rescue\views
    e:
    cd rescue
    SET TEMP=e:\rescue\temp
    SET BLASTER=A220 I5 D1 H5 P330 E620 T6
    SET SOUND=e:\rescue\SB16
    SET MIDI=SYNTH:1 MAP:E MODE:0
    e:\rescue\SB16\DIAGNOSE /S
    e:\rescue\SB16\AWEUTIL /S
    e:\rescue\SB16\MIXERSET /P /Q
    
    goto %config%
    :a
    :b
    :c
    :d
    :e
    
    lh gmouse
    LH vc
    

    <强>的Config.sys

    ;devicehigh=e:\rescue\dos98\interlnk.exe
    shell e:\rescue\dos98\command.com e:\rescue\dos98 /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:\rescue\dos98\qemm386.sys RAM BE:N
    [b]
    device=e:\rescue\dos98\himem.sys 
    devicehigh=e:\rescue\dos98\emm386.exe rammax
    [c]
    device=e:\rescue\dos98\himem.sys
    devicehigh=e:\rescue\dos98\emm386.exe noems
    [d]
    device=e:\rescue\dos98\himem.sys
    [e]
    device=e:\rescue\dos98\himem.sys
    devicehigh=e:\rescue\dos98\ramdrive.sys 32767 /e
    

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

    shell是command.com的位置。 gmouse是鼠标驱动程序(不是 DOS 的一部分,你需要下载它),vc是Volcov指挥官文件管理员(你真的不需要它,也不是它的一部分) DOS ,但它真的是一个好主意。)你可以忽略SB16和声音冲击波设置,因为它很可能你没有相同的声卡或甚至完全SB兼容没有任何仿真/驱动程序存在

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

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

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

    所以我的打赌是你得到的所有问题的任意组合都会导致你的操作系统无法运行。