14

我已经在 VirtualBox 虚拟机上安装了 MS-DOS 6.22,一切运行良好,这样做的目的是编译一个用 C 语言编写的程序,该程序显示和编辑(虚拟)RAM 中的位。但是,我需要一种在虚拟 MS-DOS 操作系统上安装 C 编译器的方法。

4

9 回答 9

15

以下是其他人遗漏的一些细节:

  1. 根本没有人提到DJGPP

    它是 GCC 的保护模式 DOS 端口,并且可能拥有所有开源选项中可用的库和指南最多的选择。(包括带有安装 HOWTO的Turbo Vision 端口

  2. 无论您尝试做什么,OpenWatcom ( source ) 都可能满足您的需求。

    1. OpenWatcom 仍然包含使用 DOS/4GW 的免费许可,这使得它在当时如此受欢迎。(当你看到像 DOOM 这样的游戏在启动时显示“DOS/4GW Protected Mode Runtime”时,这意味着它是使用 Watcom C/C++ 构建的,因为 DOS/4GW 是 DOS/4G 的特殊 Watcom 捆绑版本。)

      事实上,DOS/4GW 的创建者在他去世时正试图挖掘更新版本的 DOS/4GW 的源代码,以便为 Open Watcom 做出贡献。

    2. 如果您不想怀旧,OpenWatcom 捆绑了更新、更好的 DOS/4GW 替代品,例如 DOS/32 和 PMODE/W。

    3. 如果您想使用 Windows 3.1 编程,OpenWatcom 包括 Win386,这是一个 32 位的 Window 3.x 扩展程序,在 Microsoft 生产自己的“Win32s”32 位 API 插件之前,Sierra 等公司将其用于他们的 Windows 3.1 游戏.

    4. OpenWatcom 可以通过一次安装针对所有受支持的平台。(我用它从 Linux 构建各种 DOS 和 Windows 测试 EXE。)

    5. OpenWatcom 可以针对许多复古平台:

      • COM 文件
      • 实模式 EXE(有一组单独的选项来选择最低 CPU 要求)
      • 保护模式 EXE(您可以选择多个扩展器)
      • Windows 3.1 EXE(带或不带 Win386 扩展程序)
      • 许多您可能不关心的其他格式
  3. 如果您的项目必须在实模式下运行(即没有 DJGPP)并且您想要具有比 Open Watcom C/C++ 中的优化器更现代的优化器,那么您可以尝试一个名为GCC IA16的 GCC 分支。(虽然我不知道它对 16 位 x86 生态系统中使用的各种内存模型和调用约定的支持有多完善。)

  4. 如果你想要一些能让你在古老的硬件上运行 IDE 和编译器的东西,Pacific C编译器和 IDE 将 286 CPU 列为最低要求,但也可以在DOSEMU中运行,以便轻松集成到基于 Linux 的构建自动化中。

  5. 这里有一些其他免费的 DOS C 编译器,尽管它们缺乏 DJGPP 和 OpenWatcom 所拥有的庞大生态系统:

您可能还想在您构建的 EXE 文件上运行UPX压缩器,这样您就可以在您制作的任何软盘映像上拥有更多可用空间。--8086(如果您的目标是 386 之前的东西,请不要忘记运行它。 )

能够压缩 EXE、COM 和 SYS 文件,并且使用这种可执行压缩在当时很常见。

(然而,UPX 不压缩的三种主要格式中的两种是 OS/2 和 Windows 3.1 可执行文件。鉴于LxLite无法与 OpenWatcom 生成的 EXE 兼容,我仍在寻找最好的选择。)

于 2017-01-06T17:20:51.253 回答
8

用于 DOS 的 Turbo C 编译器非常棒,而且是免费软件。

官网链接 http://edn.embarcadero.com//article/20841

还有Microsoft QuickC,但我不知道找到它有多难。

或者 Watcom C,但我不知道他们的 OpenWatcom 版本是否适用于 DOS

于 2013-02-26T18:37:20.877 回答
6

我已经安装了编译器并且它工作成功,如果你想要这里的 ova 是链接 MS-DOS ova 和 C 编译器

打开编译器:

cd TC

TC

就是这样!您可以编写C并编译。最好的部分是您可以不受任何限制地处理寄存器和内存。

于 2013-07-10T10:49:22.130 回答
4

您可能想尝试Open WatcomBorland Turbo 系列。还有其他选择,但最好的是那两个恕我直言。

于 2013-02-26T18:39:26.000 回答
3

Open Watcom 有一个可以在 DOS 上运行的 C 编译器:Open Watcom

您可以保存它,然后用它创建一个虚拟软盘:virtual floppy how to

这应该让您将其安装在您的虚拟机上。

于 2013-02-26T18:38:42.897 回答
3

Borland C++ 4.53 是最有能力的,因为它可以从几个 IDE(一个 DOS 或 Windows IDE)输出 DOS(在所有内存模型中)和 Windows 3.1 和 95 可执行文件。它包括命令行工具,但同样,它必须托管在 PC 平台或类似 DOSBox 的平台上。

这个 Borland C 4 的原始包相当庞大,但并不像 Borland C++ 3.1 附带的文字书架那么疯狂。Borland C++ 3.1 很可能是历史上最重最大的零售商业软件产品盒。

于 2015-10-09T11:16:55.640 回答
2

这里有许多编译器:

http://www.compilers.net/dir/free/compilers/ccpp.htm

非常具体地说,我已经将“Pacific C”用于几个不同的有趣项目,我对易用性和整体兼容性感到满意。

我能够找到一个新的下载 URL:

http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/devel/c/pacific/

于 2013-02-26T18:37:12.373 回答
2

您可能想看看FreeDOS,它包含一套开发工具。

于 2013-02-26T18:42:38.953 回答
-3

Embarcadero Technologies 不久前发布了免费的 Borland C++ 编译器。遗憾的是没有 IDE,只有命令行工具。

于 2013-02-26T18:44:33.733 回答