MinGW 为 MS DOS 编译

发布于 2024-08-01 21:27:40 字数 203 浏览 6 评论 0原文

我正在使用 Code::Blocks 和 MinGW 在 Windows XP 中编写我的 C++ 应用程序。 现在我想编译我的代码以在 MS DOS 环境下运行,这样我就可以将它放在我的 DOS 格式的软盘上。 谁能帮我?

提前致谢。

PS 我指的不是命令提示符,而是真正的旧的 MS DOS 操作系统。

I'm using Code::Blocks with MinGW to write my C++ applications in Windows XP.
Now I want to compile my code to run under an MS DOS environment, so I can put it on my DOS formatted floppy disc. Can anyone help me?

Thanks in advance.

P.S. I don't mean the Command Prompt, but really the good old MS DOS Operating System.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

小巷里的女流氓 2024-08-08 21:27:40

它已经很老了,但是 DJGPP 的存在正是为了 DOS 开发。 我自 2000 年以来就没有更新过,但它可以工作。

它与 MinGW 基本相同,但专门用于 DOS。

It's pretty old, but DJGPP exists precisely for DOS development. I hasn't been updated since 2000, but it works.

It's basically the same as MinGW, but exclusively for DOS.

家住魔仙堡 2024-08-08 21:27:40

这是哪年写的??? (四个月前说的。)呃,不,DJGPP 仍然受支持,它有 G++ 4.4.1(甚至是非官方的 4.4.2)! libc 本身仍在(非常缓慢地)调整,但即使 2.03p2“稳定”是 2002 年的,2.04“测试版”是 2003 年的。你从哪里得到 2000 年和 GCC 2.96(从来没有得到 DJGPP 支持,2.96 甚至都不支持)一个官方的 FSF 版本,它是一个 Red Hat 分支)来自???

What year was this written??? (Says four months ago.) Uh, no, DJGPP is still supported, it has G++ 4.4.1 (or unofficial 4.4.2, even)!! The libc itself is still being (very slowly) tweaked, but even 2.03p2 "stable" is from 2002 and 2.04 "beta" from 2003. Where did you get year 2000 and GCC 2.96 (never supported by DJGPP, 2.96 wasn't even an official FSF release, it was a Red Hat fork) from????

庆幸我还是我 2024-08-08 21:27:40

我有一个使用 Code::Blocks IDE 和 Open Watcom v2 或 Digital Mars C/C++ 编译器从 Windows 10(或基本上您想要的任何 Windows)开发 MSDOS 程序的设置。 Code::Blocks 内置了对这些编译器的支持,但需要对设置进行一些调整才能使其在 DOS 下正确构建。

OpenWatcomv2

使用 Code::Blocks 设置 Open Watcom 是最简单的。 基本上,按照 Open Watcom 网站上的安装说明进行安装。 然后打开 Code::Blocks 并打开“设置”->“编译器”,选择“Open Watcom (W32) 编译器”,转到“工具链可执行文件”并将其定向到 Open Watcom 的正确可执行文件和目录。

C/C++ compiler: wcl.exe
Dynamic libs: wlink.exe
Static libs: wlib.exe
Resource compiler: wrc.exe
Make program: wmake.exe

在“附加路径”中,确保输入

"[OpenWatcomDir]/binnt"
"[OpenWatcomDir]/binnt64" 

...假设您想使用 64 位版本,请参阅安装说明,否则

另外,您需要转到“编译器选项”选项卡,然后右键单击 -> 修改“可执行文件类型选项部分”下的“DOS 编译和链接”选项。 您需要在“链接器标志”框中添加“系统 dos”,然后单击“确定”。
我相信这就是开始构建 DOS 程序所需要做的全部事情。 只需使用所需的编译器选项(内存模型等)设置一个项目,就可以开始了。 您将需要某种模拟器来测试它们,而无需启动 DOS 或其他东西。 我推荐 86Box 进行测试,因为它是一个非常准确的模拟器。

I have a setup for developing MSDOS programs from Windows 10 (or whatever Windows you want basically), using the Code::Blocks IDE, and the Open Watcom v2 or Digital Mars C/C++ compilers. Code::Blocks has support for these compilers built into it, but the settings will need a bit of tweaking to get it to build correctly for DOS.

OpenWatcomv2

Open Watcom is the easiest to setup with Code::Blocks. Basically, install Open Watcom following the installation instructions on it's site. Then open Code::Blocks and open "settings"->"compiler" select the "Open Watcom (W32) Compiler", go to "toolchain executables" and direct it to the correct executables and directories of Open Watcom.

C/C++ compiler: wcl.exe
Dynamic libs: wlink.exe
Static libs: wlib.exe
Resource compiler: wrc.exe
Make program: wmake.exe

In the "additional paths", make sure you put

"[OpenWatcomDir]/binnt"
"[OpenWatcomDir]/binnt64" 

...assuming you want to use the 64 bit version, see installation instructions otherwise

Also, you will need to go to the "Compiler Options" tab, and right click->modify the option "compile and link for DOS" under the "Executable type options section". You need to add "system dos" in the "linker flags" box, then hit "OK."
I believe this is all you need to do in order to start building DOS programs. Just setup a project with the desired compiler options (memory model and such) and you are good to go. You will need an emulator of some kind to test them without booting DOS or something. I recommend 86Box for testing, as it is a very accurate emulator.

2024-08-08 21:27:40

我已经有几十年没有为 MS-DOS 进行开发了; 但我会开始检查 Free-DOS 上使用的工具。 也许已经有一个 gcc 包了。

I haven't developed for MS-DOS for some decades; but I'd start checking the tools used on Free-DOS. Maybe there's already a gcc package for it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文