2011-08-09 117 views
-2

我的程序是用C寫我要使用的庫winnt.h,但我不再使用Windows。我可以在Linux中使用winnt.h嗎?

+0

檢查NT實際上是什麼:) – Cynede

+1

爲什麼你想在Linux上的Windows功能?這就像去高檔餐廳一樣,詢問你是否可以從麥當勞訂購。 –

+0

現在,我不使用Windows。 – 6LYTH3

回答

5

沒有,那麼你可以,但它不會做任何好 - the.h文件只是聲明在庫中定義的是僅適用於Windows

8

似乎是一個奇怪的問題函數;你應該從winnt.h中澄清你實際需要哪些函數,以便學習Linux的等價物。 winnt.h實際上不是一個通用的「庫」,它只是一個內置Windows特定函數的接口。

有了,作爲一個主要的警告,你可以通過嘗試與酒的幫助下運行你的應用程序得到一定程度的你想要什麼。請參閱http://www.winehq.org/如果您只是想運行現有的應用程序,那可能是一個合理的解決方案。但是,如果您正在嘗試製作應用程序的Linux版本,那對您無能爲力。

0

你想要什麼零件winnt.h使用?當然,如果你需要一些很好的宏或類型定義,你可以自由地將它複製到你自己的頭文件(當然,依賴)。但是,如果您在Linux環境中將所有winnt.h文件包含到您的程序中,您將收到大量錯誤消息。其中一個原因,它是由馬丁·貝克特在他的答覆明顯。

1

號你不能。

winnt.h包含很多取決於Windows環境的宏和大量僅存在於Windows特定庫中的函數聲明。因此,在Linux上使用winnt.h並不是很有用(或可能)。

也就是說,你可以使用Winelib,包括大多數的那些針對Windows的頭展示的功能,你可以通過鏈接Winelib程序獲得這些功能。一般來說,這可能不是一個好主意,因爲Winelib相對不穩定(與原生Windows版本相比,給定API函數的功能可能不存在,不完整,錯誤或不兼容)。尋找您需要的Linux本地替代方案是一個更好的主意。

相關問題