Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/155.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何使用Int 65H输出字符串?_C++_C_Systems Programming - Fatal编程技术网

C++ 如何使用Int 65H输出字符串?

C++ 如何使用Int 65H输出字符串?,c++,c,systems-programming,C++,C,Systems Programming,我需要用中断 INTINGINU> 输出一些字符串,但它给了我错误,我使用的是涡轮65 C++ 4 Windows 7 Windows 64位版本 #include<stdio.h> #include<fcntl.h> #include<io.h> #include<BIOS.H> #include<DOS.h> void interrupt (*oldint65)( ); char st[80] = {"Hello World$"}

我需要用中断<代码> INTINGINU> <代码>输出一些字符串,但它给了我错误,我使用的是<强>涡轮65 C++ 4 Windows 7 Windows 64位版本

#include<stdio.h>
#include<fcntl.h>
#include<io.h>
#include<BIOS.H>
#include<DOS.h>

void interrupt (*oldint65)( );
char st[80] = {"Hello World$"};
void interrupt newint65(void);

void main()
{
  oldint65 = getvect(0x65);
  setvect(0x65, newint65);
  geninterrupt (0x65);
  geninterrupt (0x65);
  geninterrupt (0x65);
  setvect(0x65, oldint65);
}

void interrupt newint65( )
{
  _AH = 0x09;
  _DX=(unsigned int)st;
  geninterrupt (0x21);
}
#包括
#包括
#包括
#包括
#包括
无效中断(*oldint65)();
char st[80]={“Hello World$”};
无效中断newint65(无效);
void main()
{
oldint65=getvect(0x65);
setvect(0x65,newint65);
生殖中断(0x65);
生殖中断(0x65);
生殖中断(0x65);
setvect(0x65,oldint65);
}
无效中断newint65()
{
_AH=0x09;
_DX=(无符号整数)st;
生殖中断(0x21);
}
我附上了错误图片,请帮助我哪里做错了


函数定义与声明不匹配/冲突。。 检查:

  • void中断(*oldint65)()
  • void中断*newint65(void)
单个名称中断不能有2个声明

计划变更应如下所示:

声明:

void interrupt(*newint65)(void);
void interrupt_newint65(void);
定义:

void interrupt(*newint65)( ) 
{ 
  _AH = 0x09; 
  _DX=(unsigned int)st; 
  geninterrupt (0x21); 
}
 void interrupt_newint65( ) 
 { 
 _AH = 0x09; 
 _DX=(unsigned int)st; 
 geninterrupt (0x21); 
 }

函数定义与声明不匹配/冲突。。 检查:

  • void中断(*oldint65)()
  • void中断*newint65(void)
单个名称中断不能有2个声明

计划变更应如下所示:

声明:

void interrupt(*newint65)(void);
void interrupt_newint65(void);
定义:

void interrupt(*newint65)( ) 
{ 
  _AH = 0x09; 
  _DX=(unsigned int)st; 
  geninterrupt (0x21); 
}
 void interrupt_newint65( ) 
 { 
 _AH = 0x09; 
 _DX=(unsigned int)st; 
 geninterrupt (0x21); 
 }
尝试: 声明:

void interrupt(*newint65)(void);
void interrupt_newint65(void);
定义:

void interrupt(*newint65)( ) 
{ 
  _AH = 0x09; 
  _DX=(unsigned int)st; 
  geninterrupt (0x21); 
}
 void interrupt_newint65( ) 
 { 
 _AH = 0x09; 
 _DX=(unsigned int)st; 
 geninterrupt (0x21); 
 }
尝试: 声明:

void interrupt(*newint65)(void);
void interrupt_newint65(void);
定义:

void interrupt(*newint65)( ) 
{ 
  _AH = 0x09; 
  _DX=(unsigned int)st; 
  geninterrupt (0x21); 
}
 void interrupt_newint65( ) 
 { 
 _AH = 0x09; 
 _DX=(unsigned int)st; 
 geninterrupt (0x21); 
 }

复制并粘贴错误的全文,而不是显示一半错误的图像。如何复制错误???我不知道有没有一种方法可以让你使用最新的编译器和Windows7API?如果中断号在所有这些Windows版本中仍然有效,我真的很惊讶。在Windows 7中它是有效的,但我不知道它在Windows中的工作情况。8或10…复制并粘贴错误的全文,而不是显示一半错误的图像。我如何复制错误???我不知道有没有一种方法可以让你使用最新的编译器和Windows7API?如果中断号在所有这些Windows版本中仍然有效,我真的很惊讶。在Windows 7中它是有效的,但我不知道它在Windows中的工作情况。8或10…..请查看剩余代码并给出错误原因??请查看剩余代码并给出错误原因??