在C中请求密码程序

时间:2015-12-03 07:20:36

标签: c

我正在阅读一个请求C写的密码的程序。但有一行我不明白是:

if(!OK){
 printf("\nWrong password!"); getch();
 f = MK_FP(0xFFFF,0x0000); f(); // this line I don't know
}

而f是函数void far (*f)(void)的指针。有谁能解释谢谢

1 个答案:

答案 0 :(得分:8)

此行用于从BIOS(MS-DOS)重启PC。

MK_FP(0xFFFF,0x0000);

构造一个 far 指针(当时为32位)并将其作为指向函数的指针返回。然后在该地址执行f,重新启动PC。

今天它不适用于现代操作系统。

This program使用它。