2011-09-06 104 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'是DOS時代錯誤 - 即使你可以得到這個編譯不會比Windows 98更新。 –

+0

我如何實現與使用MinGW.I在windows7上提供的outportb相同的功能!! –

+0

如果您嘗試訪問並行端口,則需要使用更合適的Windows API。 –

回答

1
  1. Windows不提供訪問硬件。您應該使用Win32 API調用。
  2. 此功能是DOS具體,不能使用在Windows

谷歌搜索顯示,您的解決方案是inpout32.dll(example with weird font color

+0

我真的不知道如何鏈接inpout32.dll與我的程序。Anyway感謝您的幫助。 –

+0

具有相同的功能outportb我試圖編譯我的代碼,但編譯時我使用了這個選項mingw32-gcc.exe dsp1.c -L ./inpout32.dll但看到同樣的東西undeport參考outportb –

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

提問者的問題是一個鏈接器問題,而不是缺少的函數原型。 – Mat

+0

但是,這個pc.h文件沒有附帶MinGw編譯器? –

+0

對不起,以爲你是指djgpp庫。沒關係:-) –