glib,是linux下的常用的c语言函数库,具有良好的移植性。也可在windows下使用,所以可用来跨平台。
若程序中需要使用glib,则需要包含glib.h头文件。
看一下glib的一些常用类型和宏。
类型:
- 整数类型gint8,gunit8,gint16,guint16,gint32,guint32,gint64,guint64。
- bool类型gboolean
- 字符类型gchar,和c中的char相同
- 指针类型gpointer,和void*相同
函数:
- g_warning,控制台输出一条警告信息
- g_error,控制台输出一条警告信息后结束程序
- g_print,控制台输出一条信息
- g_object_unref(gpointer object),对object的引用数减1,当object的引用数为0的时候,删除object
- g_file_test,判断文件是否存在
- g_spawn_sync,创建一个子进程运行外部程序,当子进程结束后,该函数返回(同步执行)
内存管理:
- g_malloc,总是返回gpointer类型,如果申请失败,g_malloc退出程序,所以不用检查返回值
- g_free,会忽略传递给它的null指针
- g_malloc0,将分配的内存每一个单元都置0
链表:
glib提供了单双向的链表,分别是GSlist和Glist。链表中的数据域是一个gpointer类型。下面只讲单向链表,双向链表将slist改为list即可。
- g_slist_append,向单向链表添加一个元素
- g_slist_remove,单向链表删除一个元素
- g_slist_next,获取指定元素的下一个元素
数据结构,glib中还有树、哈希表等很多常用的数据结构,用到时再去了解。
未完。