基于X的GNOME、GTK、GDK、GLib<Xlib>Xt,Xm,Motif-等之间的关系

 
什么是Xlib? 什么是Xlib?
The X Library是X Window程式最低階的API,如果拿來和Windows 比較起來,Xlib 就和Windows APIs(或稱Windows SDK)一樣,算是最接近X Server的程序設计介面,它只提供最基本的绘图和訊息事件的處理。 The X Library是X Window程式最低阶的API,如果拿来和Windows比较起来,Xlib就和Windows APIs(或称Windows SDK)一样,算是最接近X Server的程序设计介面,它只提供最基本的绘图和讯息事件的处理。
什么是Xt?(X Toolkit Intrinsics) 什么是Xt?(X Toolkit Intrinsics)
Xt 是第一個把Xlib包裝成更抽象化的函式庫,它提供了「物件導向」的程式設計架構,並且引進了一種稱為「widget」的概念,這種「widget」資料 結構也就是所謂的「User Interface Componets」像是menus、buttons或是TextBox等widgets。 Xt 是第一个把Xlib包装成更抽象化的函式库,它提供了「物件导向」的程式设计架构,并且引进了一种称为「widget」的概念,这种「widget」资料 结构也就是所谓的「User Interface Componets」像是menus、buttons或是TextBox等widgets。 從此以後程式設計師就可以用widget的觀念,來架構我們的應用程式,讓程式變得簡單且容易了解。 从此以后程式设计师就可以用widget的观念,来架构我们的应用程式,让程式变得简单且容易了解。
不過Xt只定義了應用程式要如何和這些widgets 溝通,並沒有規定這些widgets 的外觀要長甚麼模樣。 不过Xt只定义了应用程式要如何和这些widgets沟通,并没有规定这些widgets的外观要长什么模样。 這些widgets真正的樣子最後還是得靠更高層的函式庫來處理。 这些widgets真正的样子最后还是得靠更高层的函式库来处理。 (通常提供widgets 的函式庫,我們就稱之為GUI Toolkit(X ToolKits)。 (通常提供widgets的函式库,我们就称之为GUI Toolkit(X ToolKits)。
Motif、OpenLook 和Lesstif 等便都是從Xt Library 衍生而來的圖形介面函式庫 Motif、OpenLook和Lesstif等便都是从Xt Library衍生而来的图形介面函式库
Motif Motif
Motif 為目前最主要的GUI Toolkit,它便是以Xt的widget 概念為基礎,提供外觀和Microsoft Windows 95極為類似的圖形介面。 Motif为目前最主要的GUI Toolkit,它便是以Xt的widget概念为基础,提供外观和Microsoft Windows 95极为类似的图形介面。 Motif 是由Open Group (以前叫Open Software Foundation) 所出產。 Motif是由Open Group (以前叫Open Software Foundation)所出产。
不過現在的Motif 已經不只是單純的GUI Toolkit了,它也包含了一個Motif window manager(窗口管理器)用來管理X Clients (X Applications)。 不过现在的Motif已经不只是单纯的GUI Toolkit了,它也包含了一个Motif window manager(窗口管理器)用来管理X Clients (X Applications)。

 
什么是GDK? 什么是GDK?
GDK是标准Xlib函数调用的一个基本封装(wrapper),如果你对Xlib很熟悉,就不需要来重新熟悉绝大多数的GDK函数.所有的函数都是为了提供一 GDK是标准Xlib函数调用的一个基本封装(wrapper),如果你对Xlib很熟悉,就不需要来重新熟悉绝大多数的GDK函数.所有的函数都是为了提供一 个方便直观的风格来访问Xlib函数库.另外,自从GDK使用GLib,在多平台上使用时,GDK变得更加的方便和安全. 个方便直观的风格来访问Xlib函数库.另外,自从GDK使用GLib,在多平台上使用时,GDK变得更加的方便和安全.

什么是GLib? 什么是GLib?
GLib库提供了一系列函数(functions)和定义(definitions),在设计GDK和GTK程序时很有用.它提供了一些标准c函数库(stan GLib库提供了一系列函数(functions)和定义(definitions),在设计GDK和GTK程序时很有用.它提供了一些标准c函数库(stan dard libc)的替代函数,比如malloc,但在其他的系统上使用时有很多问题. dard libc)的替代函数,比如malloc,但在其他的系统上使用时有很多问题.

什么是GTK+? 什么是GTK+?
GTK+ 是一个小型而高效的控件库,具有Motif的外观和风格.实际上,它比Motif看起来好多了,它包含有基本的控件和一些很复杂的的控件:例如文件选择、 控件和颜色选择控件. GTK+提供了一些独特的特性,(至少,我知道其他的控件库不提供他们),例如,按钮不提供标签,它包含了一个子控件,在很多的时候是一个标签,但是,这 个子控件也可以是一个映射,图像或者任何其他的程序员想要的集合.在整个的库中,你随处可见这种伸缩性. GTK+ 是一个小型而高效的控件库,具有Motif的外观和风格.实际上,它比Motif看起来好多了,它包含有基本的控件和一些很复杂的的控件:例如文件选择、 控件和颜色选择控件. GTK+提供了一些独特的特性,(至少,我知道其他的控件库不提供他们),例如,按钮不提供标签,它包含了一个子控件,在很多的时候是一个标签,但是,这 个子控件也可以是一个映射,图像或者任何其他的程序员想要的集合.在整个的库中,你随处可见这种伸缩性.
Gnome的开发基础结构是围绕一组函数库的,所有的内容都是用可移植的ANSI C语言写成的,可以用于所有类UNIX系统,与图形相关的函数库依赖于X Window系统。 Gnome的开发基础结构是围绕一组函数库的,所有的内容都是用可移植的ANSI C语言写成的,可以用于所有类UNIX系统,与图形相关的函数库依赖于X Window系统。 Gnome函数库是最高层的。 Gnome函数库是最高层的。 GTK+由两部分组成,GTK和GDK。 GTK+由两部分组成,GTK和GDK。 GTK层为C语言提供了一个对象模型,并为UI工具包提供了最基本的widget,它是上层GUI派生的基础。 GTK层为C语言提供了一个对象模型,并为UI工具包提供了最基本的widget,它是上层GUI派生的基础。 GTK是依赖于GDK的,GDK是Xlib的一个底层包装,Xlib库直接与X服务器对话。 GTK是依赖于GDK的,GDK是Xlib的一个底层包装,Xlib库直接与X服务器对话。 除了Xlib以外的任何部分都是基于GLib的,它是一个有用的C函数库,提供了很多实用程序和可移植的功能以及一组容易被C语言使用的容器。 除了Xlib以外的任何部分都是基于GLib的,它是一个有用的C函数库,提供了很多实用程序和可移植的功能以及一组容易被C语言使用的容器。

个Gnome程序是使用多个库组成的层次结构: 个Gnome程序是使用多个库组成的层次结构:
GNOME (GNU Network Object Model Environment)是以GTK為基礎的圖形介面函式庫。 GNOME (GNU Network Object Model Environment)是以GTK为基础的图形介面函式库。 和KDE一樣,GNOME 也是以建立一個完整、友善的圖形使用環境為目標,並提供GNOME相關的軟體。 和KDE一样,GNOME也是以建立一个完整、友善的图形使用环境为目标,并提供GNOME相关的软体。
Gnome库在最高层,包括帮助例程,类和特殊的widget,并为应用程序提供一个基础架构。 Gnome库在最高层,包括帮助例程,类和特殊的widget,并为应用程序提供一个基础架构。
第二层是GTK,它是GTK+库的一部分。 第二层是GTK,它是GTK+库的一部分。 这个库提供了基本的工具包和widget来创建GUI应用程序。 这个库提供了基本的工具包和widget来创建GUI应用程序。 大多数GUI是直接用GTK编写的。 大多数GUI是直接用GTK编写的。 GTK同时为Gnome库提供了一个功能强大的对象系统。 GTK同时为Gnome库提供了一个功能强大的对象系统。
再下一层是GDK,它简单的对X函数库进行了包装,只有在我们进行特殊绘画或设置窗口的特殊属性的时候才会用到它. 再下一层是GDK,它简单的对X函数库进行了包装,只有在我们进行特殊绘画或设置窗口的特殊属性的时候才会用到它.
最下面一层是Glib,它是C的一个实用程序库,包括可移植性和一些实用程序功能,以及一些容器类,例如:链表,可变数组,变长字符串,HASH西表),缓存,一个事件循环和其他有用的结构。 最下面一层是Glib,它是C的一个实用程序库,包括可移植性和一些实用程序功能,以及一些容器类,例如:链表,可变数组,变长字符串,HASH西表),缓存,一个事件循环和其他有用的结构。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值