|
책에서 본 코드인데...
void interrupt(*mouse_vector)();
... 도저히 모르겠습니다.
BC++3.1 help를 봤습니다만 기본적인 개념이 없다보니
단어만 알아가지고는 해석이 안됩니다.
interrupt가 키워드라는건 알아냈습니다.
언뜻보면 함수 포인터같은데 나름데로 아니라고 결론을...
함수에 대한 책의 설명을 말씀드리겠습니다.
"마우스 드라이버가 존재하는지 조사하는 함수입니다.
마우스 드라이버가 메모리에 올라왔는지를 알아내려면 마우스
드라이버가 사용하는 인터럽트 벡터인 0x33에 주소가 할당되어
있는지를 체크하여야 한다. 만약 주소가 할당되어 있다면 그것은
마우스 드라이버가 올라왔다는 것을 의미하고, 아무런 주소가 없는
경우에는 마우스 드라이버가 메모리에 올라와 았지 않았다는 것을
의미하게 된다."
int IsMouseDriver(void)
{
void interrupt(*mouse_vector)();
mouse_vector = getvect(0x33);
if (mouse_vector == 0)
return 0; // 마우스 없음
else
return 1; // 마우스 있음
}
3번과 4번라인에 대해 가르쳐 주시면 감사하겠습니다.
|