我得到了一些供应商提供的用 C 语言编写的驱动程序代码,该代码在 DOS(是的 DOS)上运行以访问硬件。我正在尝试弄清楚这段代码的作用,到目前为止没有太大的成功。特别是我在理解以下代码时遇到问题
void (interrupt *oldcan)(void);
void interrupt far can_isr(void)
{
/* function body */
}
我猜第一行定义了一个函数指针,但我从未见过interrupt
我假设的词是某种 DOS API 函数。我以前从未使用过 DOS,上面的函数定义在我看来它有 3 个返回类型 - ,void
这显然是不可能的。该函数实际上具有 void 返回类型,但是??的含义是什么?任何帮助将不胜感激。interrupt
far
interrupt far