我正在寫一個C大學項目,我想在我的頭文件中使用Sleep()
函數。標記它的人可能正在使用Linux,我正在開發VS2013 for Windows。我發現Sleep()
存在於兩個不同的頭文件中,具體取決於編譯器是使用Windows還是Linux,我已經瀏覽過網頁,並發現在預處理器中使用"#ifdef"
的建議。不過,我對預處理器的工作很陌生,所以當我有很多不同的建議時,我不確定要使用什麼,但我不確定這些建議是否與我的目的相同,所以如果這是一個常見問題,請致歉題。我已經試過如下:無法使用不同的編譯器來使用特定的頭文件?
#ifdef _WIN32 || _WIN64
#include<windows.h>
#elif __linux
#include<unistd.h>
#else
#include<unistd.h>
#endif
這將編譯在VS2013罰款,但我得到Sleep()
在Linux機器上的錯誤,所以我使用似乎並沒有工作代碼VS2013之外。有人可以解釋爲了讓Windows和Linux使用它們各自的頭文件需要指定什麼嗎?
sleep()被定義,但我不認爲睡眠()被定義(在linux上)。 –
小心睡眠窗口以毫秒爲參數,而unistd以秒爲參數。 – smani