MinGW编译MS DOS版

10
我使用Code::Blocks与MinGW在Windows XP上编写C++应用程序。现在我想将我的代码编译成MS DOS环境下的可执行文件,这样我就可以将其放入格式化为DOS的软盘中。有人能帮帮我吗?
提前致谢。
备注:我不是指命令提示符,而是真正的旧版MS DOS操作系统。
4个回答

7

这个工具相当老了,但是DJGPP专为DOS开发而存在。虽然自2000年以来就没有更新过了,但它仍然可以使用。

它基本上与MinGW相同,但是只适用于DOS。


1
我同意这是最好的选择,但我不会把任何钱投注在它能编译现代、惯用的C++代码上。 - anon
哦,我可以保证不会出问题。只有GCC 2.96版本,如果我的记忆没错的话。除非有人在GCC 3.x系列上维护DOS目标,否则这就是唯一的选择。 - greyfade
DJGPP与MinGW除了它们都是g++端口之外没有任何共同点。 - M.M

2

这是什么时候写的?(写着四个月前。)不,DJGPP 仍然得到支持,它具有 G++ 4.4.1(或非官方的 4.4.2)!libc 本身仍在被(非常缓慢地)调整中,但即使是 2.03p2 "稳定版" 也是来自于2002年,而2.04 "测试版"则来自于2003年。你从哪里得到了2000年和GCC 2.96(DJGPP从未支持过2.96,2.96甚至不是一个官方的FSF发行版,而是红帽的分支)?


1
我有一个用于在Windows 10(或其他Windows系统)上开发MSDOS程序的设置,使用Code::Blocks IDE和Open Watcom v2或Digital Mars C/C++编译器。Code::Blocks内置了这些编译器的支持,但需要进行一些调整才能正确地构建DOS系统。OpenWatcomv2 Open Watcom是与Code::Blocks最容易配合的。基本上,按照其网站上的安装说明安装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编译和链接”选项。您需要在“链接器标志”框中添加“system dos”,然后点击“确定”。 我认为这就是您需要做的一切,以便开始构建DOS程序。只需设置所需的编译器选项(内存模型等),然后即可开始。您需要某种仿真器来测试它们而无需启动DOS或其他操作系统。我推荐使用 86Box 进行测试,因为它是一个非常准确的仿真器。


0

我已经几十年没有为MS-DOS开发过程序了;但我会开始检查在Free-DOS上使用的工具。也许已经有一个适用于它的gcc软件包。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接