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下是'/'

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
{
gpointer data;
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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值