yiyiz
驱动小牛
驱动小牛
  • 注册日期2002-02-15
  • 最后登录2007-09-06
  • 粉丝0
  • 关注0
  • 积分50分
  • 威望5点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
阅读:1194回复:2

如何用VC++6.0编译连接可在纯DOS下运行的程序?

楼主#
更多 发布于:2002-03-05 17:22
main()
{
printf(\"Real DOS\");
return 1;
}
我在VC++6.0下编译如上C程序,在windows下正常,但是在纯DOS下运行只显示This program cannot be run in DOS mode,我该如何生成纯DOS的可执行文件.
sf7509
驱动牛犊
驱动牛犊
  • 注册日期2001-12-19
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分42分
  • 威望6点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2002-03-05 18:55
如果你够狠,可以这样

先装VC

再装BC/TC

再设置vc的编译环境
daoshi
驱动牛犊
驱动牛犊
  • 注册日期2001-10-12
  • 最后登录2005-08-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-03-06 09:19
道理是这样的:vc1.5以上版本都是32位的程序,也就是说最终生成的指令都用32位寄存器。
而纯dos是16位的,mov eax,1234h这样的指令你说在dos下会什么样。你如果非想编译dos下能运行的程序,要么用vc1.5要么把你vc目录下的cl.exe,link.exe还有两个什么ms*.dll替换成1.5版本试试,也许成,没试过。肯定行的是建立makefile工程,从中制定编译器和连接器参考论坛中的文章吧。
游客

返回顶部