什么是Xlib?
The X Library是X Window程式最低�A的API,如果拿�砗�Windows 比�^起�恚�Xlib 就和Windows APIs(或�Q Windows SDK)一�樱�算是最接近 X Server的程序�O计介面,它只提供最基本的绘图和�息事件的�理。
什么是Xt?(X Toolkit Intrinsics)
Xt 是第一��把Xlib包�b成更抽象化的函式�欤�它提供了「物件��向」的程式�O�架��,�K且引�M了一�N�Q�椤�widget」的概念,�@�N「widget」�Y料�Y��也就是所�^的「User Interface Componets」像是menus、buttons或是TextBox等widgets。�拇艘葬岢淌皆O���就可以用widget的�^念,�砑��我��的��用程式,�程式�得��吻胰菀琢私狻�
不�^Xt只定�x了��用程式要如何和�@些 widgets �贤ǎ��K�]有�定�@些 widgets 的外�^要�L甚�N模�印_@些widgets真正的�幼幼钺徇�是得靠更高�拥暮�式��硖�理。(通常提供 widgets 的函式�欤�我��就�Q之��GUI Toolkit(X ToolKits)。
Motif、OpenLook 和 Lesstif 等便都是�� Xt Library 衍生而�淼�D形介面函式��
Motif
Motif �槟壳白钪饕�的 GUI Toolkit,它便是以Xt的widget 概念�榛��A,提供外�^和Microsoft Windows 95�O�轭�似的�D形介面。Motif 是由 Open Group (以前叫 Open Software Foundation) 所出�a。
不�^�F在的 Motif 已�不只是�渭�的GUI Toolkit了,它也包含了一��Motif window manager(窗口管理器)用�砉芾�X Clients (X Applications)。
什么是GDK?
GDK是标准Xlib函数调用的一个基本封装(wrapper),如果你对Xlib很熟悉,就不需要来重新熟悉绝大多数的GDK函数.所有的函数都是为了提供一个方便直观的风格来访问Xlib函数库.另外,自从GDK使用GLib,在多平台上使用时,GDK变得更加的方便和安全.
什么是GLib?
GLib库提供了一系列函数(functions)和定义(definitions),在设计GDK和GTK程序时很有用.它提供了一些标准c函数库(standard libc)的替代函数,比如malloc,但在其他的系统上使用时有很多问题.
什么是GTK+?
GTK+ 是一个小型而高效的控件库,具有Motif的外观和风格.实际上,它比Motif看起来好多了,它包含有基本的控件和一些很复杂的的控件:例如文件选择、控件和颜色选择控件. GTK+提供了一些独特的特性,(至少,我知道其他的控件库不提供他们),例如,按钮不提供标签,它包含了一个子控件,在很多的时候是一个标签,但是,这个子控件也可以是一个映射,图像或者任何其他的程序员想要的集合.在整个的库中,你随处可见这种伸缩性.
Gnome的开发基础结构是围绕一组函数库的,所有的内容都是用可移植的ANSI C语言写成的,可以用于所有类UNIX系统,与图形相关的函数库依赖于X Window系统。 Gnome函数库是最高层的。GTK+由两部分组成,GTK和GDK。 GTK层为C语言提供了一个对象模型,并为UI工具包提供了最基本的widget,它是上层GUI派生的基础。 GTK是依赖于GDK的,GDK是Xlib的一个底层包装,Xlib库直接与X服务器对话。除了Xlib以外的任何部分都是基于GLib的,它是一个有用的C函数库,提供了很多实用程序和可移植的功能以及一组容易被C语言使用的容器。
一个Gnome程序是使用多个库组成的层次结构:
GNOME (GNU Network Object Model Environment)是以GTK�榛��A的�D形介面函式�臁:�KDE一�樱�GNOME 也是以建立一��完整、友善的�D形使用�h境�槟�耍��K提供GNOME相�P的��w。
Gnome库在最高层,包括帮助例程,类和特殊的widget,并为应用程序提供一个基础架构。
第二层是GTK,它是GTK+库的一部分。这个库提供了基本的工具包和widget来创建GUI应用程序。大多数GUI是直接用GTK编写的。GTK同时为Gnome库提供了一个功能强大的对象系统。
再下一层是GDK,它简单的对X函数库进行了包装,只有在我们进行特殊绘画或设置窗口的特殊属性的时候才会用到它.
最下面一层是Glib,它是C的一个实用程序库,包括可移植性和一些实用程序功能,以及一些容器类,例如:链表,可变数组,变长字符串,HASH西表),缓存,一个事件循环和其他有用的结构。