2012-10-31 111 views
0

我正在使用Dev C++編譯器編譯c代碼。 (我是初學者) 當我編譯時,它說'有些'頭文件丟失。 如何將這些頭文件包含在我的系統中,以供程序使用?如何將頭文件添加到c項目中?

謝謝

+0

這取決於您在程序中使用哪些函數或符號,因此您必須將這些文件包含在程序的開頭 – Omkant

+0

我已經包含這些頭文件。但編譯器無法在系統中找到這些頭文件。 –

+0

是否將頭文件與編譯的程序放在同一文件夾中? *假設你正在編寫自己的頭文件 –

回答

0

問題是,您正試圖在Windows上使用Linux API。以下是發生了什麼事情:每個操作系統都有自己的一套庫供程序員用來在該平臺上製作程序。在這種情況下,您正試圖在Windows上使用Linux庫。 Windows沒有名爲sys/ipc或sys/sem的代碼位置。

此外,既然你說你是初學者,試着找另一個教程。 sys/ipc.h和sys/sem.h不適合初學者,通常用於進程間通信的庫。這些概念是遠遠超出你現在哈哈:P

下面是一個更好的地方開始:http://www.cprogramming.com/tutorial/c-tutorial.html

+0

雅確定..我檢查鏈接。順便說一句,不可能在Windows上使用Linux API?有什麼辦法可以將這些頭文件包含在窗口中,比如將整個'include'文件夾從linux複製到Windows? –

+0

除非有某種類似的項目才能這樣做。我不確定爲什麼有人會想要使用Windows的Linux庫。如果你真的熱衷於使用Linux代碼,只需在Linux上編程。 –

+0

您可以從Linux獲取代碼並將其放置在Windows上,但您現在只會遇到完全相同的問題。這些庫也使用其他特定於Linux的代碼。 –

1

一個頭,如<sys/sem.h>其用於除其他事物的功能semget(),是不是在Windows中一般可用。這是一個POSIX頭文件,而Windows並未實現開箱即用的POSIX標準。

您應該看看Win32 API,而不是像CreateSemaphore()這樣的函數。

+0

所以它不可能在Windows中使用POSIX頭?不可能做到這一點嗎?只是問問 –

相關問題