我一直在寻找所有谷歌的这一点,但从来没有得到一个明确的答案。我想写一个简单的Hello World应用程序,并使其在MSDOS(我将在一个旧钻机躺在这里周围安装)运行。
但是,首先第一件事情,我一直在试图编译一个正常的控制台应用程序,并把它在DOSBox中来测试它不工作,只是说,这是无效的。 所以,我想我需要别的东西一起编译。 这是否意味着我有义务建立在MS-DOS环境下我的代码? 即使是这样的话,我不知道在一切是如何做到这一点,还挺MSDOS虚..
如果任何人都可以在我的情况下提供一些线索,我将非常感激!
PS:我运行64位系统
您可以使用免费的DJGPP的DOS编译器。
而这里是使用DJGPP的文档 。
我假设你的意思是实际的DOS和Windows中运行的不是一个命令提示符。
DOS是一个16位操作系统,所以你需要能够生成一个16位二进制的编译器。 一个Windows控制台应用程序是32位的,所以它不会DOS下运行。 你不必建立在DOS环境下你的代码,你只需要正确的编译器。
至于编译器,你可能想看看OpenWatcom 。
微软的Visual C ++ 1.52是支持编译16位代码在Microsoft C ++编译器的唯一可用的版本。
http://social.msdn.microsoft.com/forums/en-US/Vsexpressvc/thread/cfc848e8-a797-42a5-8537-892cfc234123
你需要找到一个旧的编译器,将产生16位COM文件。
难道它运行在64位系统上是一个问题?..
是的,64位Windows无法执行16位程序。 如果您安装有MS-DOS或32位Windows操作系统的虚拟PC,虚拟PC将能够执行16位程序。
你需要编辑你的问题说,你正在使用64位Windows?
这听起来像你正在编译一个现代版的Windows控制台应用程序,并试图简单地将它复制到一个老的DOS框。 问题是,DOS不向前兼容。 您不能运行Windows 7的DOS的预Windows版本编译的程序。 最简单的办法是编译在DOS窗口本身你的程序。 另外,如果你想在新的机器上进行开发,你需要获得一个交叉编译器,目标要在其中运行程序的操作系统。