2011-09-06 5 views
0

outportb()를 사용하려고하는 코드가 있지만 MinGw에서 컴파일하는 동안 오류가 발생합니다.outportb() 함수를 참조 할 때의 문제 C

C:\Users\A_TOMAR\AppData\Local\Temp\ccYPvctv.o:dsp.c:(.text+0x68): undefined reference to `outportb' 
#include <stdio.h> 
#include <stdlib.h> 
#include <dos.h> 

int main(void) 
{ 
    outportb(0x378,0xFF); 
    return 0; 
} 

나는이 특정 기능을 갖는되는 헤더 파일을 알고 싶습니다?

+3

'outportb' 도스 시대 착오 인 것은 - 당신이 얻을 수있는 경우에도이 그것을 컴파일 Windows 98보다 최신 버전에서는 작동하지 않습니다. –

+0

MinGW를 사용하여 outportb에서 제공하는 것과 동일한 기능을 어떻게 얻을 수 있습니까? –

+0

병렬 포트에 액세스하려는 경우보다 적절한 Windows API를 사용해야합니다. –

답변

1
  1. 윈도우 하드웨어에 대한 액세스를 제공하지 않습니다. Win32 API 호출을 사용해야합니다.
  2. 이 기능은 사용자의 솔루션에서 inpout32.dll입니다 쇼를 인터넷 검색을

윈도우에서 DOS 구체적이고 사용할 수 없습니다 (example with weird font color)

+0

나는 정말로 내 program.Anyway와 inpout32.dll을 어떻게 링크하는지 모른다. 당신의 도움에 감사드립니다. 동일한 기능을 가진 –

+0

outportb 내 코드를 컴파일하려고하지만 컴파일하는 동안이 옵션을 사용하고 있습니다. mingw32-gcc.exe dsp1.c -L ./inpout32.dll하지만 outportb에 대해 동일한 정의되지 않은 참조가 표시됩니다. –

1
#include <pc.h> 
void outportb(unsigned short _port, unsigned char _data); 
+1

asker의 문제는 누락 된 함수 프로토 타입이 아니라 링커 문제입니다. – Mat

+0

하지만이 pc.h 파일에는 MinGw 컴파일러가 포함되어 있지 않습니다 ?? –

+0

죄송합니다. djgpp lib를 추천한다고 생각합니다. 신경 쓰지 마라 :-) –

관련 문제