![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
GLib
wfreehorse
这个作者很懒,什么都没留下…
展开
-
GLib中GThread Pool内存占用的问题
原始出处: http://blog.csdn.net/cool_way/article/details/8163967按:一个思路,学习了。gstreamer也用了GLib库,收藏备用。最近,我们发现有个简单的程序内存占用特别大,该程序自启动开始就占用着2.7G左右的内存。最初,大家都觉得不可思议,因为这个程序功能非常简单:1)它采用多socket多线程的方转载 2017-03-20 11:12:08 · 614 阅读 · 0 评论 -
如何实现 C 语言的继承和多态
上面一篇博客中写了《如何实现 C 的函数重载》,本文将进一步讲讲如何实现 C 语言的继承和多态,其实大致的思想已经在前面的一篇博客《200 行 C 代码实现插件式 NOSQL 存储服务器(一)》中体现过了,主要就是如何灵活运用C的函数指针这一特性!等等,C本身是不支持继承和多态的,那还煞费苦心实现 C 的继承和多态干嘛呢?其实在 C 的世界里,有一套非常有名的面向对象的框架,用的也转载 2017-04-14 09:39:23 · 431 阅读 · 0 评论 -
Glib的数据类型和常用知识
标准的GLib数据类型:gboolean真或假,与GLib定义的TRUE和FALSE常量一起使用gpointer通用指针,即void *gchar和guchar字符和无符号字符gint、guint、gshort有符号和无符号数据类型glong、gulong长度根据硬件和操作系统体系结构的不同而变化gint8、guint8、gint16、guint16原创 2017-04-19 11:03:29 · 2922 阅读 · 0 评论 -
Glib中Gquark浅析
Glib中Gquark浅析夸克,英文名叫quark,原意是表示一种物理单位;第一次在GLIB中看到这个名词,很有意思。下文摘自http://blog.csdn.net/ciahi为了在程序中标识一块数据,你一般有两种方式可选:数字或字符串。但是这两者都有一些缺点。数字是非常难以辨认的。如果你开始粗略的知道需要多少标签,你就可以定义一个枚举类型和一些字符符号。但是,你没法在运转载 2017-04-19 11:09:18 · 645 阅读 · 0 评论 -
va_start和va_end使用详解
本文主要介绍va_start和va_end的使用及原理。 在以前的一篇帖子Format MessageBox 详解中曾使用到va_start和va_end这两个宏,但对它们也只是泛泛的了解。 介绍这两个宏之前先看一下C中传递函数的参数时的用法和原理: 1.在C中,当我们无法列出传递函数的所有实参的类型和数目时,可以用省略号指定参数表void foo(..转载 2017-04-19 16:11:41 · 383 阅读 · 0 评论 -
GMarkupParser的简单使用
glib-2.0的GMarkup是一个简单的xml解析器,他只支持简单格式的xml,不支持除了utf-8以外的编码格式,也不支持用户自定义实体。但是对于简单应用它就足够了,比如我现在手头上的一个工作就是它完成的。GMarkup是事件驱动的xml解析器,对它的使用非常高效,在使用它的文件中加上头文件。为了使用GMarkup解析xml文件,我们必须实现下面几个函数,当然也可把它们设为空,那么x转载 2017-06-12 18:50:53 · 508 阅读 · 0 评论 -
gstreamer中由gstbuffer unref引起的crash分析
在调试字幕插件的时候,碰到了一个问题: 在切换文本字幕和图片字幕的过程中,会概率性的发生crash,串口显示signal 11,通过分析生成的coredump文件,得到了如下信息:(敏感信息都以×代替,不影响分析问题)(gdb) where#0 0xf56317d0 in magazine_chain_pop_head () from /××/symbols/system/vendo原创 2017-07-29 09:52:15 · 3381 阅读 · 0 评论