|
제가 현재 하고 있는 작업이요...터보 씨++로 작성된 C 화일을 엠에스 씨++로 작성된 프로그램에 포함시켜서 돌릴려고 하는데요... 그러다보니 두 컴파일러의 차이에서 오는 에러가 많이 생깁니다..
그 차이가 많지 않다면 전반적으로 어떠한 차이가 있는지..(문법상에서) 알려주셨으면 좋겠구요..
현재 문제가 발생하는 부분은
void (interrupt *oldvec)(); 이 부분 입니다..바로 interrupt부분인데요..
사실 이것의 원문은 void (interrupt far *oldvec)();이렇게 되어있습니다.
여기서 far항목은 제가 지운거구요..
이것을 컴파일해보면 다음과 같은 에러가 나옵니다.
error C2199: syntax error : found 'void (' at global scope (was a declaration intended?)
솔직히 C초보라 모가 몬지 잘 모릅니다..--a
이게...무슨 문젠지...알수있을까요?
그리고 또하나의 인터럽트 부분은
void interrupt int_proc()
{ t:
outp(0x20,0x20);
switch (inp(offset + 2))
{
case (0):
{mstat = inp(offset+6);
break;}
case (2):
{_disable();
if (txchars > 0)
{
outp(offset,(txbuffer[tfront] & 0x7f));
if ((txbuffer[tfront] == 0x0d) || (txchars <= 1))
{txintr_disable();
while ((inp(offset + 5) & 0x60) != 0x60) {};
rts_disable();}
tfront = ((tfront+1) % buffersize);
txchars--;
}
_enable();
break;
}
case (4):
{_disable();
rxbuffer[rback] = (inp(offset) & 0x7f);
rback = ((rback+1) % buffersize);
rxchars++;
_enable();
break;
}
case (6):
{lstat = inp(offset+5);
break;
}
}
if ((inp(offset + 2) & 0x01) == 0)
{goto t; }
else
{outp(0x20,0x20);}
}
여기구요...여기서 에러는
error C2146: syntax error : missing ';' before identifier 'int_proc'
error C2182: 'interrupt' : illegal use of type 'void'
이렇게 두개가 나옵니다..
질문이...상당히 두서가 없죠..?
혹시나 질문에 미흡한 부분이 있으면 말씀해주시구요..
답변해주시면...넘 감사하겠습니다..ㅜㅜ
그럼..
|