我正在阅读一个请求C写的密码的程序.但有一行我不明白是:
if(!OK){ printf("\nWrong password!"); getch(); f = MK_FP(0xFFFF,0x0000); f(); // this line I don't know }
而f是函数的指针void far (*f)(void)
.有谁能解释谢谢
这些行用于从BIOS(MS-DOS)重启PC.
MK_FP(0xFFFF,0x0000);
构造一个far指针(当时为32位)并将其作为指向函数的指针返回.然后f
在该地址执行,重新启动PC.
它现在在现代操作系统上不起作用.
这个程序使用它.