首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Freedos中运行Turbo C++

在Freedos中运行Turbo C++
EN

Stack Overflow用户
提问于 2017-09-30 18:28:12
回答 1查看 1.9K关注 0票数 0

我想运行涡轮C++在FreeDos。我以前在DosBox上运行它,但现在我决定在我的桌面PC上测试FreeDos。

但是每次我尝试运行它时,光标都会闪烁,什么也不会发生(在输入命令并按enter之后),提示不返回( C:> ),我必须通过按power按钮重新启动我的系统。我的问题是:

  1. 我怎么才能真正运行它?是否需要额外的驱动程序或文件?
  2. 如果它不能运行,您还有其他C++ IDE吗?也许是你自己的IDE?

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

EN

回答 1

Stack Overflow用户

发布于 2017-10-02 07:23:23

FreeDOS不是MS-DOS,所以不兼容是可以预料的.然而,我并没有接触到FreeDOS,但是这里有一些提示(来自MS-DOS,所以它们或多或少也适用于FreeDOS )。

  1. 没有himem.sys 您没有高内存 所以你只得到了640个KByte,而不是1 MByte。有些程序甚至需要540 KByte.
  2. 没有XMS Emm386.exe QEMM386 的您没有XMS内存 如果我的内存比还好的话,DPMI驱动程序将无法正常工作,这正是turbo所需要的。
  3. 没有适当的autoexec.bat config sys config sys的没有工作 您没有路径、设备驱动程序(鼠标、CDROM等)和设置(如声卡)。如果您不知道在其中放置什么,可以从、DOSBOX、(减去、DOSBOX、挂载行)复制它们。没有路径通常也意味着没有command.com,所以您没有shell,所以没有命令可以工作。
  4. 您使用什么文件系统? 我不想去比FAT16为老的DOS。仅对更新的FAT32版本使用MS-DOS版本(来自win98)。不要使用、NTFS、或EXT,即使您一直使用那些导致问题的驱动程序.
  5. 计算机速度 许多DOS程序都是基于Borlands 库的。后来随着计算机的加速,这引起了很多问题。如果我没记错的话,这就是由它引起的runtime error 200。要补救这样的程序,你可以做两件事。修补或重新编译它们中的CRT (有一些修复)或转到BIOS并关闭CPU缓存 (L1,L2.)。这将使你的现代计算机成为真正快速的386,仍然应该通过CRT init。否则时间就关闭了,程序崩溃/挂起等等.DOSBOX仿真器旨在以原始速度运行程序,而不是以尽可能快的速度运行程序,因此如果使用该模拟器,不需要进一步调整。
  6. 存储器 旧的DOS不能处理超过64 MByte,有些程序甚至存在问题。最安全的方法是将可用内存限制为32 MByte。我通常使用、RAMDISC、和或SMARTDRIVE缓冲区来完成,因此只为DOS程序留出32 MByte内存。(您可以使用mem命令查看您的状态,如果您看到负数,您正在跨越障碍,并且需要增加对SMARTDRIVE或RAMDISK的使用)。 不要忘记不时地在退出之前保存SMARTDRIVE缓冲区,以避免在重置或崩溃/挂起/冻结时丢失数据.使用带有预定义菜单的Volcov指挥官(或Norton commander)来执行此类操作是一个好主意。您甚至可以将文件扩展名与查看器、编辑器和IDE与其关联起来。因此,如果您执行asmcpp,它是在首选的IDE端点中编译或打开的。

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

Autoexec.bat

代码语言:javascript
复制
@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

代码语言:javascript
复制
;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 6.22。

所以我敢打赌,所有这些问题的组合都会使你的操作系统无法操作。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46505817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档