我需要使用中断 Int 65
输出一些字符串,但它给我错误我正在使用 Turbo C++ 4.0 Windows 7 Windows 8 64Bit Version
#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);
}
我附上了错误图片请帮助我哪里做错了
最佳答案
函数定义与声明不匹配/冲突.. 检查:
void interrupt (*oldint65)();
无效中断 *newint65(void);
单个名称中断不能有 2 个声明..
程序的变化应该如下:
声明:
void interrupt(*newint65)(void);
定义:
void interrupt(*newint65)( )
{
_AH = 0x09;
_DX=(unsigned int)st;
geninterrupt (0x21);
}
关于c++ - 如何使用 Int 65H 输出字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30414912/