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