C语言实现面向对象方法学的GLib、GObject-初体验
0. 扫盲:
GLib是用C写的一些utilities,即C的工具库,和libc/glibc(GNU C Library)没有关系。
GLib是 Gtk+ 库和 Gnome 的基础。GLib可以在多个平台下使用,比如 Linux、Unix、Windows 等。GLib为许多标准的、常用的 C 语言结构提供了相应的替代物。
GLib是GTK+的基础库,它由基础类型、对核心应用的支持、实用功能、数据类型和对象系统五个部分组成。
它是一个综合用途的实用的轻量级的C程序库,它提供C语言的常用的数据结构的定义、相关的处理函数,有趣而实用的宏,
可移植的封装和一些运行时机能,如事件循环、线程、动态调用、对象系统等的API。
PS: glibc 、ANSI C、glib别搞混
glibc是linux下面c标准库的实现,即GNU C Library。glibc本身是GNU旗下的C标准库,后来逐渐成为了Linux的标准c库,而Linux下原来的标准c库Linux libc逐渐不再被维护。
Linux下面的标准c库不仅有这一个,如uclibc、klibc,以及上面被提到的Linux libc,但是glibc无疑是用得最多的。glibc在/lib目录下的.so文件为libc.so.6。
GLib,和libc、glibc没有半毛钱关系。
GObject依赖Glib,GObject原来是GTK+的一部分, 在GTK+ 2.0中将与GUI不相关的部份都移到了GObject里,从此GObject诞生;
现在,GObject源码包含在Glib源码里,构成GLib的对象系统。
有了GObject,就可以使用C语言来完成面向对象的框架。
1. Glib下载
这个过程还是相当复杂的,一堆的依赖。不好搞。
记录相关博文:
https://www.cnblogs.com/pcat/p/5520317.html glib源码安装使用方法
http://www.voidcn.com/article/p-uqycertd-cu.html glib2.40库的安装与移植(for arm)
写不下去了...
马保国:大意了大意了!
文末 -- 资源推荐
GObject学习专栏
https://blog.csdn.net/knowledgebao/article/details/84633798
.