Glib


glib不是一个学院派的东西,也不是凭空想出来的,完全是在开发gtk+的过程中,慢慢总结和完善的结果。

如果你是一个工作3年以上的C语言程序员,现在让你讲讲写程序的苦恼,你可能有很多话要说,但如果你有时间研究一下glib,

你会发现,很多苦恼已不再成其为苦恼,glib里很多东西正是你期望已经 久的。      

gobject是glib的精粹,glib是用C实现的,但在很大程序是基于面向对象思想设计的,gobject是所有类的基类。

signal在其中也是 一大特色,signal与操作系统中的signal并不一样,它是类似消息一样的东西,让消息在各个对象间传递,但尽量降低对象间的耦合。

仔细读一下它的 代码,唯一想说的话就是“绝!”。    

 动态数组、链表、哈希表等通用容器,在不同的公司,在不同的时期,在不同的情况下,我们每个人对每一种容器,可能都实现过N次以上。

甚至在同一个项目里, 出现几份链表的实现,也并非罕见。

一直在抱怨,标准C中为什么没有类似于STL的标准容器,让全世界的程序员在数以万次的重复实现它们。

不过,还算走运, 有了glib,恶梦在此终结了。

glib提供了动态数组、单/双向链表、哈希表、多叉树、平衡二叉树、字符串等常用容器,完全是面向对象设计的,实现得非 常精致。不用白不用,别客气了。

 

glib还对C的内存申请释放做了管理。通过编译设置可以方便的对重复释放,未释放等错误进行分析。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值