在Windows中,为了获取系统消息(比如游戏),大致可以这样做:
MSG msg; while (PeekMessage(&msg, 0, 0, 0, PM_REMOVE)) { TranslateMessage(&msg); DispatchMessage(&msg); }
我以前从来没有在Linux上做过开发(目前我在Mint v17上),所以我不确定相当于什么(如果有的话)。 我做了一些自我研究,但没有find太多的帮助,很可能是因为我不了解这些概念的正确的linux术语。
没有什么内在的(即内置于操作系统)这样的。 如果你有例如X11,你有一个类似的消息循环,你收到和发送消息。 通常情况下,你不会看到这个消息循环,就像在MS Windows下人们很少在纯粹的win32 API上编程一样。 使用像WxWidgets,Qt,GTK等所谓的窗口工具包。
顺便说一句:你也可以在Linux上使用win32 API的实现,也就是WINE。