GLib是一个跨平台的、用C语言编写的五个底层库的集合,为GNOME所使用。
历史
GLib起初是GTK+的一部分,但到了GTK+第二版,开发者决定把跟图形界面无关的代码分开,这些代码于是就组装成了GLib。
因为GLib具有跨平台特性,所以用它编写的程序可以无需进行大幅度修改就可以在其他程序上编译和运行。[2]
功能
GLib提供了多种高级的数据结构,如内存块、双向和单向链表、哈希表、动态字符串以及字符串工具(例如词法分析器,字符串切分等)、动态数组、平衡二叉树、n-叉树、键值存储、关系和元组,还有带有缓存的内存管理。
Glib还实现了线程相关的函数、多线程编程以及相关的工具,例如原始变量访问、互斥锁、异步队列、安全内存池、消息传递和日志、钩子函数和计时器,同时消息传递还包含了字节序转换和IO channel。
组成
GLib由五个库组成:
- GObject –对象系统,包括类型系统GType
- GLib
- GModule
- GThread
- GIO
参考文献
- ^ 2.81.0 · GNOME / GLib · GitLab. [2024年6月28日] (英語). 引文格式1维护:未识别语文类型 (link)
- ^ Krause, Andrew. Foundations of GTK+ Development. Expert's Voice in Open Source. Apress. 2007: 5 [3 April 2013]. ISBN 1-59059-793-1. (原始内容存档于2016-08-11).
[GLib] provides a cross-platform interface that allows your code to be run on any of its supported operating systems with little to no rewriting of code!
外部链接
- 官方网站
- GLib文档(页面存档备份,存于互联网档案馆)(英文)
- GLib Git Source Tree(页面存档备份,存于互联网档案馆)
|
---|
| Platform | | |
---|
| GNOME | |
---|
| Cinnamon | |
---|
| Xfce | |
---|
| LXDE | |
---|
| Graphical shells | |
---|
| 3rd-party applications | Office | |
---|
| Education | |
---|
| Graphics | |
---|
| Internet | - Balsa
- Sylpheed
- Claws Mail
- Empathy
- Ekiga
- gtk-gnutella
- GpsDrive
- GNU Ring
- Vino (VNC server)
- Vinagre
- Midori
- Uzbl
- transmission-gtk
|
---|
| Audio | |
---|
| Video | |
---|
| Utilities | |
---|
|
---|
| - Category:GTK+
- Category:Software that uses GTK+
- Commons
|
|
|
---|
| 历史 | - GNU宣言
- 自由软件基金会
- 欧洲(英语:Free Software Foundation Europe)
- 印度(英语:Free Software Foundation of India)
- 拉丁美洲(英语:Free Software Foundation Latin America)
- 自由开源软件历史
| |
---|
| 许可证 | |
---|
| 软件 | |
---|
| 公众发言人 | - Alexandre Oliva
- Benjamin Mako Hill
- Bradley M. Kuhn
- 伊本·莫格林
- Georg C. F. Greve
- Loïc Dachary
- Ricardo Galli
- 理查德·斯托曼
- Robert J. Chassell
- John Sullivan
|
---|
| 其它议题 | |
---|
|
|
---|
| 核心程式(英语:GNOME Core Applications) | - 機櫃 Boxes
- 計算器 Calculator(英语:GNOME Calculator)
- 字符映射 Character Map(英语:GNOME Character Map)
- 字典 Dictionary(英语:GNOME Dictionary)
- 硬盤 Disks(英语:GNOME Disks)
- 檔案 Files
- 軟件 Software
- 終端 Terminal(英语:GNOME Terminal)
- 影片 Videos
- 網頁 Web
|
---|
| 額外程式 | 開發 | - Anjuta
- Glade
- Meld (软件)
- Devhelp(英语:Devhelp)
- Nemiver(英语:Nemiver)
- Geany
- Gtranslator(英语:Gtranslator)
|
---|
| 办公 | |
---|
| 圖像 | |
---|
| 互聯網 | - Balsa(英语:Balsa (email client))
- Empathy
- Ekiga(英语:Ekiga)
- Gobby(英语:Gobby)
- Jami
- Vino(英语:Vino (VNC server))
- Vinagre(英语:Vinagre)
- transmission-gtk
|
---|
| 影音 | |
---|
| 遊戲 | |
---|
| 工具 | |
---|
|
---|
| 平台組件 | 用戶界面 | |
---|
| 基礎技術 | |
---|
| 其他 | - dconf(英语:dconf)
- Genie
- 鑰匙圈
- GNOME-DB(英语:GNOME-DB)
- GVFS(英语:GVFS)
- Librsvg
- MetaTracker(英语:MetaTracker)
- Vala
- libxslt(英语:libxslt)
- libxml2
|
---|
| freedesktop.org | |
---|
|
---|
| 社羣 | - GNOME基金會
- GUADEC(英语:GNOME Users And Developers European Conference)
- GNOME計畫
- Outreachy(英语:Outreachy)
|
---|
| 人物 | |
---|
| - 分類
- 共享資源
|
|