sombebody是否知道用於訪問不同操作系統API的C++庫?是否有用於C++的操作系統API包裝庫?
我正在考慮訪問操作系統特定功能的包裝。例如:
osAPI.MessageBox(); //調用Win32中的MessageBox(),相當於在Mac OS 的Linux等等
因爲我認爲這是很難實現這一針對不同的操作系統,現在它也將是確定有一個很好的C++包裝類爲WinAPI。
sombebody是否知道用於訪問不同操作系統API的C++庫?是否有用於C++的操作系統API包裝庫?
我正在考慮訪問操作系統特定功能的包裝。例如:
osAPI.MessageBox(); //調用Win32中的MessageBox(),相當於在Mac OS 的Linux等等
因爲我認爲這是很難實現這一針對不同的操作系統,現在它也將是確定有一個很好的C++包裝類爲WinAPI。
加速提供了網絡庫(Boost.Asio的),線程(Boost.Thread),時間,日期,文件系統遍歷,共享內存,內存映射文件等
ACE還具有網絡抽象,線程,時間,文件系統的東西,共享內存等。
AFAIK,既沒有GUI抽象或DB抽象。
其他人提到過Qt,wxWidgets等等。
QT是否也處理非GUI GUI的東西,例如獲取正在運行的進程的列表? – Inno 2009-07-20 16:44:19
MFC在Windows上這樣做,但不是最容易使用。對於跨平臺C++庫,請查看QT.它最好稱爲GUI工具包,但它包含可移植的API以支持許多系統服務,如線程,數據庫連接和I/O。
wxWidgets強烈推薦使用它的一些朋友。
另一個跨平臺的C++庫是Mozilla的XPCOM。它是Firefox和許多其他項目使用的跨平臺庫。
如果您需要廣泛的跨平臺功能,諾基亞的QT將是您最好的選擇。但缺點是你需要學習它的Signal/Slot機制,你需要使用它自己的qmake工具,並且它不太適合STL(你需要學習使用所有QT的容器)。
如果您正在尋找更簡單的GUI開發,那麼wxWidgets將是一個更好的選擇。
你描述的功能不是OS層(處理設備驅動程序等)。這些是窗口(或顯示)層,它是Core OS上方的一層。 – 2009-07-20 18:23:23
我只選擇了MessageBox,因爲它首先出現在我的腦海裏。總的來說,我不認爲(僅)關於GUI功能,我想到的是典型的OS API函數,如流程管理,網絡資料等。(非第一行的GUI東西) – Inno 2009-07-20 19:12:31