glib
文章平均质量分 93
tony_dr
这个作者很懒,什么都没留下…
展开
-
GMainLoop和GSource简介
下面看一个自定义GSource的例子,通过这个例子,可以更好地理解GSource在GMainLoop中的运行机制。//设置检查事件时间超时。如果返回 TRUE, check 会立刻被调用;//如果返回 FALSE 并设置了 timeout , timeout 时间后 check 会被调用。//检查事件是否准备完毕。返回 TRUE 为准备完毕, dispatch 会被立刻调用;//返回 FALSE 不调用 dispatch,进入下一次事件循环。//分发事件。原创 2024-02-29 17:08:59 · 916 阅读 · 0 评论 -
GTask简介
GTask定义在gio这个库中,gio虽然和glib是两个不同的库,但从概念来说,它们都属于glib下面的内容,它们都是由GLib开发组提供的。按照GIO手册的定义:“Gio是一个库,为通用I/O、网络、IPC、设置和其他高级应用程序功能提供有用的类”。GTask表示并管理一个可取消的“任务”,常用于“异步操作”中,本文即重点介绍一下GTask在异步操作中的应用,从而通过这个应用去理解GTask。原创 2024-02-28 15:00:54 · 873 阅读 · 0 评论 -
GVariant格式字符串(GVariant Format Strings)
GVariant是glib提供的一种特殊的类型,它可以将许多不同类型的参数整合到一起,最终形成一个指针指向的对象,形式上就是一个指针参数。dbus接口通信中,往往会用到GVariant。本文系统地学习glib手册中关于GVariant Format Strings的描述。原创 2024-02-27 10:12:37 · 1295 阅读 · 1 评论 -
glib的开发环境
在中,我们自己写了一个glib的小程序。这篇文章详细描述一下怎样在已经安装了glib的linux服务器上实现这个小程序的编译。基本的libglib*.so是肯定需要的。此外,g_object_new/g_object_ref_sink等函数都是声明在gobject.h中的,因此还需要一个libgobject*.so这样的库。原创 2024-02-26 08:44:43 · 838 阅读 · 1 评论 -
Glib中的Floating references
首先说明一下什么是“引用”。在很多程序语言设计中,内存的管理都会采用引用计数的方式:即创建内存或者有新的对象指向这块内存时,就会给这个引用的内存的计数加1;反之则引用减1。当引用计数减为0时,内存就会被释放。C++中也有“引用”这个概念,和前面讲到的“引用”并不完全一样,至少从形式上看并不一样。因此,不要将C++中的“引用”和前面的“引用”混淆。对于使用了引用计数的内存管理,使用 _unref 作为函数后缀名要比 _free 更恰当。例如在 GLib/GTK+ 栈中提供的函数是和。原创 2024-02-23 11:22:45 · 789 阅读 · 0 评论