【发布时间】:2012-09-24 21:23:32
【问题描述】:
Windows (Win32 API) 和 OS X (Cocoa) 都有自己的 API 来处理窗口、事件和其他操作系统内容。关于 Linux 的等价物是什么,我从来没有真正得到过明确的答案?
我听说有人说 GTK+,但 GTK+ 是跨平台的。怎么可能是原生的?
【问题讨论】:
-
Joni 是正确的:“在 Linux 中,图形用户界面不是操作系统的一部分……X Window System 为 [GUI 功能] 定义了一个网络协议。工具包库,如 Gtk+(使用由 Gnome)和 QT(由 KDE 使用)构建在 Xlib 之上。”
-
相反,大卫,这是一个很好的调查
-
我同意 - 我已经阅读了关于内核和 API 的两本圣经“Linux 编程 API”和“系统编程... Unix”,但我从未想过这个问题 :)答案很有趣。
-
Win32 API 也是跨平台的,如果你包含 Wine..
-
BTW Windows 有 WIN32/WIN64 子系统,它们在“Windows 外观 - 也就是 WIN32”等方面实现了很多相同的功能。这些子系统在 NT 内核之上运行。这些 API 是不同的。例如 C: 是 WIN32 的抽象,而不是 NT 内核的东西。某些窗口功能也是如此。 Windows 也有可用的 Unix 子系统(在某种程度上支持 X11)。
标签: c++ c linux user-interface