GLib

GLib
原作者Shawn Amundson
開發者GNOME計劃
当前版本
  • 2.80.2 (2024年5月8日;穩定版本)[1]
編輯維基數據鏈接
源代码库
  • gitlab.gnome.org/GNOME/glib.git
編輯維基數據鏈接
编程语言C
操作系统Linux、类Unix系统、OS X、Microsoft Windows
平台跨平台
语言多语言
类型
许可协议GNU宽通用公共许可证
网站wiki.gnome.org/Projects/GLib

GLib是一个跨平台的、用C语言编写的五个底层的集合,为GNOME所使用。

历史

GLib起初是GTK+的一部分,但到了GTK+第二版,开发者决定把跟图形界面无关的代码分开,这些代码于是就组装成了GLib。

因为GLib具有跨平台特性,所以用它编写的程序可以无需进行大幅度修改就可以在其他程序上编译和运行。[2]

功能

GLib提供了多种高级的数据结构,如内存块、双向和单向链表哈希表、动态字符串以及字符串工具(例如词法分析器,字符串切分等)、动态数组、平衡二叉树、n-叉树、键值存储、关系和元组,还有带有缓存的内存管理。

Glib还实现了线程相关的函数、多线程编程以及相关的工具,例如原始变量访问、互斥锁、异步队列、安全内存池、消息传递和日志、钩子函数和计时器,同时消息传递还包含了字节序转换和IO channel。

组成

GLib由五个库组成:

  • GObject –对象系统,包括类型系统GType
  • GLib
  • GModule
  • GThread
  • GIO

参考文献

  1. ^ 2.80.2 · GNOME / GLib · GitLab. [2024年5月10日] (英語).  引文格式1维护:未识别语文类型 (link)
  2. ^ 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! 

外部链接

Platform
GTK+
freedesktop.org
(shared)
Development
GUI designer, RAD
IDEs
GNOME
Cinnamon
  • Nemo
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
  • Audacious
  • Banshee
  • Buzztrax
  • Exaile
  • Rhythmbox
  • Sound Juicer
  • SoundConverter
  • Quod Libet
    • Ex Falso
  • EasyTag
  • Asunder
Video
Utilities
  • 分类 Category:GTK+
  • 分类 Category:Software that uses GTK+
  • 共享资源页面 Commons
历史
GNU's not UNIX
许可证
软件
公众发言人
其它议题
核心程式英语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
影音
遊戲
工具
平台組件
用戶界面
GNOME 3
GNOME 2
其他
基礎技術
其他
  • 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
人物
  • 分类 分類
  • 共享资源页面 共享資源