读书人

GLib引见与使用

发布时间: 2012-08-14 10:39:57 作者: rapoo

GLib介绍与使用
GLib是一种底层库,创建GDK和GTK应用程序时该库提供许多有用的定义和函数。
包括基本类型及限制的定义、标准宏、类型转化、字节序、存储分配、警告和断言、消息记录、计时器、字符串工具、hook函数、句法扫描器、动态加载模块和字符串自动补全,同时也提供了许多数据类型及相关操作。

包括存储块、双向链表、单向链表、哈希表、动态列表、关系和元组及缓存。最后GLib具有很好的移植性,所以使用GLib作为底层应用支持,那么也保证了应用的可移植性。


一、双向链表
双向链表中每个元素都包含一块数据和指向前后元素的指针。这使得链表的双向移动变的容易。
存储的数据类型是gpointer,在GLib中,gpointer指向实际数据的指针。
不存在用于创建链表的函数,而是简单的创建一个Glist* 变量,并设置它为NULL。

双向链表中提供的Glib函数:

gchar *g_strdup( const gchar *str ):替代strdup函数。把原字符串内容复制到新分配的存储块中,返回指向它的指针。gchar *g_strerror( gint errnum );void g_error( gchar *format, ... );错误提示:“ ** ERROR ** ”并且退出程序。仅用在致命错误上。void g_warning( gchar *format, ... ):错误提示:“ ** WARNING ** ”void g_message( gchar *format, ... ):在传递字符串前打印"message"void g_print( gchar *format, ... ):替代printf函数


除了上述之外,GLib还提供了很多功能,包括编码转换、正则、XMP解析、Test框架等等。

可以参看http://gtk-doc-cn.googlecode.com/svn/docs/glib/index.html

读书人网 >编程

热点推荐