我正在尝试使用 DOS 视频内存打印一个字符串,但是当我调用函数时print_Id ();
,(*old)();
它会显示这些警告并且不运行代码,但如果没有这些函数,一切都会正常工作。
调用print_id
没有原型的函数
调用没有原型的函数
我在顶部写了这个函数,但都是徒劳的。
请在下面查看我的代码;我正在使用BORLANDC编译器。
#include<stdio.h>
#include<BIOS.H>
#include<DOS.H>
#include<conio.h>
int j;
void interrupt (*old)();
void interrupt print_name();
void interrupt print_Id();
char st[80] ={"Bilal Maqsood$"};
char id[20]={"BC110403231$"};
char far *scr=(char far* ) 0xb8000f3C;
int main( )
{
clrscr();
old=getvect(0x08);
setvect(0x08,print_name); //corrected
return 0;
}
void interrupt print_name(){
int i=0;
int j=0;
while(st[i]!='$'){
*(scr+j)=st[i];
*(scr+j+1)=0x72;
i++;
j+=2;
}
print_Id ();
}
void interrupt print_Id ( )
{
int i=0;
int j=0;
while(id[i]!='$'){
*(scr+j)=id[i];
*(scr+j+1)=0x17;
i++;
j+=2;
}
(*old)();
}