gg和gn(GTK、GDK、GLIB三者的关系 阿堂的专栏 博客频道 CSDN.NET)
分类:
GTK+/DirectFB学习笔记
2008-09-11 19:48 6297人阅读 评论(6) 收藏 举报什么是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库在最高层 ,包括帮助例程 ,类和特殊的widget,并为应用程序提供一个基础架构 。
第二层是GTK ,它是GTK+库的一部分 。这个库提供了基本的工具包和widget来创建GUI应用程序 。大多数GUI是直接用GTK编写的 。GTK同时为Gnome库提供了一个功能强大的对象系统 。
再下一层是GDK ,它简单的对X函数库进行了包装,只有在我们进行特殊绘画或设置窗口的特殊属性的时候才会用到它.
最下面一层是Glib ,它是C的一个实用程序库 ,包括可移植性和一些实用程序功能 ,以及一些容器类 ,例如:链表 ,可变数组 ,变长字符串 ,HASH(貌似是哈西表) ,缓存 ,一个事件循环和其他有用的结构
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!