GLIB 库简介
glib库是Linux平台下最常用的C语言函数库,它具有很好的可移植性和实用性。
glib是Gtk +库和Gnome的基础。glib可以在多个平台下使用,比如Linux、Unix、Windows等。glib为许多标准的、常用的C语言结构提供了相应的替代物。
如果在程序中要使用到glib库中的函数,则应该包含glib.h头文件(在gtk.h和gnome.h头文件中已经包含了glib.h了)
1 类型定义
2. 整数类型gshort、glong、gint和short、long、int相同
3. 布尔类型gboolean:gboolean可以取两个值:TRUE和FALSE
4. 字符型gchar和char相同
5. 浮点型gfloat和gdouble和float、double完全等价
6. 指针gpointer对应于标准C的void*
7. gconstpointer对于于标准C的const void*
2 glib宏
2.1 常用宏
整型与指针类型间的转换
2. GPOINTER_TO_INT(a):将gpointer类型转换成int型
3. GUINT_TO_POINTER(a):将uint类型转换成gpointer类型
4. GPOINTER_TO_UINT(a):将gpointer类型转换成整型
5. NULL宏的定义:#define NULL (void*)0(也就是说:0是一个整型数据,而NULL则是指针类型)
2.2 调试宏
前提条件检查(当定义了G_DISABLE_CHECKS时,前提条件检查宏在编译时就会消失)
断言(当定义了G_DISABLE_ASSERT后,断言宏在编译时就会消失,而不会加入生成的程序中)
所有调试宏使用g_log输出警告信息,g_log的警告信息包括发生错误的应用程序或库函数的名字。 2.3 判断构建是否是指定的构件 3 常用函数 4 内存管理 4 字符串处理 4.1 字符串操作 4.2 修改字符串 4.3 字符串转换 4.4 其他字符串转换函数 5 数据结构 5.1 链表 glib提供了普通的单向链表和双向链表,分别是GSList和GList。链表中的数据域是一个gpointer类型(通过GINT_TO_POINTER转换也可以使得链表中可以保存整型)。 5.2 树 在glib中有两种不同的树:GTree是基本的平衡二叉树,它将存储的数据按其值排序成二叉排序树 5.3 哈希表 6 GString GString类似于标准C的字符串类型,但是GString能够自动增长,这些特性可以防止程序中的缓冲区溢出。下面是GString的定义: 7.计时器函数 计数器函数可以用于为操作计时。使用过程如下: 8 错误处理函数 9 其它实用函数
GTK_IS_NOTEBOOK:用来判断构件是否是笔记本构件
2. g_free忽略任何传递给它的NULL指针
3. g_realloc函数和realloc函数功能相同
4. g_malloc0:将分配的内存的每一个单元都置0
2. g_strup将字符串转换成大写字母
3. g_strreverse将字符串颠倒过来
4. g_strchug删除字符串前的空格
5. g_strchomp删除字符串尾的空格
2. g_strerror:将出错代码转换成描述出错代码的字符串
3. g_strsignal:将信号值转换成描述信号的字符串
2. g_strconcat用来连接两个字符串
3. g_strsplit在每个分隔符处分隔分割字符串,并返回一个新分配的字符串
gchar* str; 指向字符串数据的存储空间
gint len; 字符串的长度
2. g_string_free(GString* string,gint free_segment):释放GString所占的内存
3. g_string_assign(GString* lval,const gchar* rval):将字符串rval复制到lval,销毁lval原有的内容
4. g_string_truncate:截取字符串来生成指定长度的字符串
5. g_string_append:将字符串追加到指定字符串后面
6. g_string_append_c:将字符追加到指定的字符串后面
7. g_string_prepend:将字符串追加到指定的字符串前面
8. g_string_prepend_c:将字符追加到指定的字符串前面
9. g_string_sprintf:将一个格式化字符串写入到GString中
2. 使用g_timer_start来开始对操作计时
3. 使用g_timer_stop来停止计时
4. 使用g_timer_elapsed来判断计时器运行的时间
5. 不用时,使用g_timer_destroy来销毁一个计时器
6. 在使用过程中,还可以使用g_timer_reset来将计时器重新置零
2. g_error打印一条出错信息,然后退出程序。其格式与printf相似,但在它的信息前面加上了“**ERROR**”
3. g_warning打印一条警告信息,与printf相似,但在它的信息前面加上“**WARNING**”,而且它不退出程序。通常用于不是太严重的错误
4. g_message在输出的字符串前面加上了“**message**”,用来输出一条信息
5. g_strsignal通过信号值获取描述该信号的字符串
2.g_return_val_if_fail(condition,retval):如果条件为假,则输出一条警告信息后,从当前函数返回,返回值为retval
2022年11月18日 20:54
Billie Eilish - the youngest person and second person ever to win the four main Grammy categories, was born in December 18, 2001, find out more about her net worth on celebrity networth