在x86-64(linux)上进行GUI编程的相关系统调用是什么?

时间:2011-09-05 15:36:54

标签: linux user-interface system-calls

任何人都知道哪个系统调用用于GUI编程,以便我们可以在屏幕上绘制各种图片?

我找不到一个here ..

GUI需要内核支持,对吧?

1 个答案:

答案 0 :(得分:4)

通过将X11协议与系统的Xserver对话,您可以在屏幕上绘图。 (所涉及的系统调用通常用于通过套接字进行通信,因此它们没有提供信息。)通常使用库来执行此操作。通常使用的基本库是X11库(libX11),它通常由工具包库(如GTK或Qt(或wxWindows或Tk或...))包装。还有低级库(xcb,这是一个比X协议更薄的层)和更高级别的库(Gnome,KDE)。您也可以使用OpenGL库,这是一种完全不同的方法。

有关于如何做到这一点的书籍。


Xserver本身使用内存映射设备,它以非常低的级别与图形硬件进行对话。它不是一个比图形驱动程序更高级别的东西,它是一个非常高度特权的过程。 (如果你要与Windows进行比较,你需要知道事情被拆分的确切级别是不同的,但是 libX11的级别与Win API的大部分相似。)< / p>