您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> C/C++ >> dosh头文件中的问题

dosh头文件中的问题

来源:网络整理     时间:2016/7/17 11:11:05     关键词:

关于网友提出的“ dosh头文件中的问题”问题疑问,本网通过在网上对“ dosh头文件中的问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: dosh头文件中的问题
描述:

我在网上摘了下面的程序,用borland c++4.5编译的时候能通过,但是用vc++6.0就不能通过.
发现vc在对这句union REGS reg;编译的时候,说没有定义这个REGS联合,
我查看了BC++和VC++中的DOS.H头文件是不一样的.
现在我在在vc++中编译通过,我要include那个头文件来替换dos.h???
    #include "dos.h"
  #include "stdlib.h"
  #include "stdio.h"
  #define PORT 0
  ...
  void InitPort(int port,unsigned char para); /*初始化端口*/
    ...
  main(int argc,char *argv[])
  {
   if(argc<2)
{
   printf("Please input R(receive) or S(sent) parametre:");
   exit(1); 
}
   InitPort(PORT,231);
   if(*argv[1]==''''S'''') /*检查选择的有效性*/
   SendFile(argv[2]);
   else if(*argv[1]==''''R'''')
   ReceiveFile();
   else
{
   printf("Error parament.Please input again.");
   exit(1);
}
  }
...
void InitPort(port,para)
  int port;
  unsigned char para;
  {
   union REGS reg;
   reg.x.dx=port;
   reg.h.ah=0;
   reg.h.al=para;
   int86(0x14,®,®);
  }


解决方案1:

#include "dos.h"
  #include "stdlib.h"
  #include "stdio.h"
改为
#include 
#include 
#include 
编译器会自动在其配置的路径去找dos.h这个头文件,
你可以带路径的指定:如#include "d:\\...\\dos.h"

解决方案2:

vc6.0是32位windows编译器,它运行在windows保护模式下,不再支持DOS下直接寄存器访问了(包括DOS中断调用)。


以上介绍了“ dosh头文件中的问题”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2743793.html

相关图片

相关文章