2010-12-06 51 views
1

如何檢測操作系統是否是C++/C中的Windows?檢測如果C++中的Windows操作系統

謝謝

+0

你是如何編譯代碼,二進制兼容多種操作系統兼容嗎? – 2010-12-06 05:39:37

+0

你問的是編譯時間還是運行時間? – birryree 2010-12-06 05:40:05

+0

運行時,程序運行時 – Daniel 2010-12-06 05:41:01

回答

1

你不應該這樣做。您應該分別編譯每個平臺,因此您應該已經知道該平臺是否適用於任何給定的二進制文件。

基本上,在運行時檢查操作系統是無用的,所以這樣做的可能性是一個有爭議的問題。

爲了幫助您記住C++在不同平臺上編譯C++的過程,請記住短語「write once, compile anywhere」。


我的建議是設置使編譯的行爲不同,這取決於你是否正在編譯爲Windows編譯時標誌。

22
#ifdef _WIN32 
cout << "This is Windows." << endl; 
#endif 

這將允許您定義塊只適用於Windows。只要預處理器宏被定義。

這是編譯時的事情,而不是運行時的事情。