【问题标题】:how to compile for DOS如何为 DOS 编译
【发布时间】:2012-08-16 12:46:14
【问题描述】:

有什么方法可以为 DOS 编译我的代码!我有一个不使用任何 Windows API 的简单 C++ 程序。我可以使用 Visual Studio 2010 在 Windows 下运行它,但是,我需要在没有 Windows 开销的情况下提高速度。我想知道是否有任何方法可以编译它以在 DOS(或任何实时平台)下运行而无需任何视觉效果开销? (很明显我不想使用非常老的编译器,比如turbo c++,因为我失去了MSVC编译器的优化优势)

问候

【问题讨论】:

    标签: visual-studio-2010 performance real-time dos


    【解决方案1】:

    您可能不想为 DOS 编译。 DOS 是一个 16 位操作系统,尽管您可能会获得 DOS 的 GCC 并使用它,但我向您保证它(DOS,而不是 GCC)已经过时,可能不是您想要的。

    如果为 Windows 命令提示符编译太慢,则可能是您编写程序本身的方式造成了问题。您很可能试图解决错误的问题。如果您的问题是您计算机上的其他服务占用资源,您可能需要关闭它们、卸载它们,或者考虑使用Windows Server Core 作为您的操作系统,它具有最少的服务和非常薄的 GUI,如果您可以调用就是这样。

    【讨论】:

    • 但它仍然有一个 GUI!例如,没有桌面环境的 Debian 将使用更少的 CPU(和 GPU)!在这种情况下 linux 不是更好吗?
    • 可能不会,因为 OP 显然在运行 Windows 基础架构。
    【解决方案2】:

    DJGPP 是用于 DOS 的 32 位 gcc/g++。它使用 DPMI 主机 (CWSDPMI) 切换到 32 位保护模式。您可以在 DOS 或带有 DOS 的 VM(PC/VM+FreeDosDosbox)中运行编译器。它也可以在 Windows 9x/2K/XP 中运行(但通常不适用于 Vista/7)。

    Open Watcom C/C++ 是一个 16/32 位 C/C++ 编译器,可以为包括 DOS 在内的各种不同平台编译代码。您也可以使用它为 DOS 创建 32 位 DPMI 程序。编译器可以在DOS和Windows下运行。

    与 OW 类似,Digital Mars 是用于 DOS 和 Windows 的 16/32 位 C/C++ 编译器。 AFAIK,编译器只能在 Windows 下运行。

    您也可以尝试使用带有WDOSX 的Windows 编译器。

    【讨论】:

      【解决方案3】:

      你看过G++。它是用于 windows 的 gnu 编译器。

      【讨论】:

      • 你确定这回答了这个问题吗?你的编译器是 cygwin,Windows 的 gcc/g++,而不是 DOS。
      • 是的,我认为 G++ 不是我的答案。
      猜你喜欢
      • 1970-01-01
      • 2010-10-13
      • 1970-01-01
      • 2011-12-05
      • 2013-02-12
      • 2013-12-07
      • 1970-01-01
      • 2015-03-06
      • 2012-07-28
      相关资源
      最近更新 更多