Glib的数据类型和常⽤知识
标准的GLib数据类型:
gboolean 真或假,与GLib定义的TRUE和FALSE常量⼀起使⽤
gpointer 通⽤指针,即void *
gchar和guchar 字符和⽆符号字符
gint、guint、gshort 有符号和⽆符号数据类型
glong、gulong 长度根据硬件和操作系统体系结构的不同⽽变化
gint8、guint8、gint16、guint16、gint32、guint32 具有已知长度的有符号和⽆符号的整数数据类型。gint64、guint64 64位有符号和⽆符号整数
gfloat、gdouble 浮点数
gsize ⽆符号整数
gssize 有符号整数
1.分隔符宏和常量
G_DIR_SEPARATOR  字符,Windows下是'\',Linux下是'/'static修饰的变量
G_DIR_SEPARATOR_S    字符串
G_SERACHPATH_SEPARATORPATH分隔符,Windows下是';',Linux下是':'
G_SERACHPATH_SEPARATOR_S  字符串
2.算数宏
MIN(x, y)
MAX(x, y)
ABS(x)
CLAMP(x, y, z)  锁定给定范围的⼀个值
错误检测
g_assert() 条件为假,程序终⽌
g_assert_not_reached()不应该到达的点,如果执⾏,则程序将会终⽌
g_return_if_fail  条件为假,函数返回,程序不终⽌
g_return_val_if_fail 增加⼀个返回值
g_error() 输出错误消息并终⽌程序
g_warning() 不终⽌程序,只输出错误消息
使⽤内存
g_malloc和g_free,函数失败将终⽌应⽤程序,其⼯作与malloc和free⼏乎相同。
数据结构:
单向链表
struct GSList
{
gpointer data;
GSList*next;
}
双向链表
struct GList
{
gpointerdata;
GList *next;
GList*prev;
}
建⽴表是初始化⼀个表指针为NULL,⽽不是建⽴⼀个空表。
删除表 g_slist_free()、g_list_free()
插⼊表项 g_slist_append、g_slistprepend、g_list_append、g_list_prepend、g_list_insert 表中移动
单项链表 g_slist_next、g_slit_last
双向链表g_list_next、g_list_last、g_list_first、g_list_previous
排序 g_list_sort、g_list_find_custom
树、散列表、夸克
GTree * g_tree_new(GCompareFunc ComparisonFunction);
g_tree_insert()
g_tree_remove()
g_tree_lookup()
g_tree_traverse()
g_tree_destroy()
扩展数据类型:
GString
g_string_new
g_string_sized_now g_string_assign
g_string_append
g_string_prepend g_string_insert
g_string_up
g_string_down
g_string_erase
计时器GTimer
g_timer_new
g_timer_start
g_timer_stop
g_timer_elapsed
g_timer_reset
g_timer_destroy

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。