ハードウェアにアクセスするためにDOS(はいDOS)で実行されるCで書かれたベンダー提供のドライバーコードをいくつか与えられました。私はこのコードが何をするのかを解明しようとしていますが、これまでのところあまり成功していません。特に、次のコードを理解するのに問題があります
void (interrupt *oldcan)(void);
void interrupt far can_isr(void)
{
/* function body */
}
interrupt
最初の行は関数ポインタを定義していると思いますが、ある種のDOSAPI関数であると想定している単語を見たことがありません。私はこれまでDOSを使用したことがなく、上記の関数定義には3つの戻り型があるように見えます- void
、interrupt
そしてfar
これは明らかに不可能です。関数には実際にはvoidreturn型がありますが、interrupt far
??の意味は何ですか?どんな援助もありがたく受けます。