GNOME 开发中这些库/术语有什么区别或关系?
答案1
所有这些都是由GNOME 项目。实际上,它们是用于 GNOME 环境或任何其他使用这些库的桌面环境中运行的应用程序的构建块。
鍵盤:用于创建 GUI 界面(窗口及其内容)的小工具工具包/库,GIMP Toolkit 的缩写。GNOME 和其他桌面(如 XFCE、Unity、Cinnamon、Mate)使用。引用文档:
GTK+ 是用于在 GNOME 应用程序中构建用户界面的主要库。它提供用户界面控件和信号回调来控制用户界面。
通用库:高级数据结构库()、编程接口和 IPC 设施。引用GLib 参考手册:
GLib 为用 C 编写的库和应用程序提供了核心应用程序构建块。它提供了 GNOME 中使用的核心对象系统、主循环实现以及大量用于字符串和常见数据结构的实用函数。
GLib 可以独立于 GObject 和 Gtk 使用。
对象:又名 GLib 对象系统,对象库(最初用于 C 编程语言,它不是面向对象的,但后来出现了与许多其他语言的绑定)。最初是 GLib 的一部分。在 Gtk 中积极使用,并且 Gtk 中的许多对象(例如 Gtk Window)都从基本 GObject 类型继承。
攻击:无障碍库.可以被认为是 Gtk 和辅助设备之间的桥梁。引自文档:
“ATK 是 GNOME 使用的工具包,它为需要额外支持以充分利用计算机的用户提供便利。屏幕阅读器、放大镜和输入设备等工具使用 ATK,通过其他方式实现与桌面的丰富交互。”
所有这些也与吉奥、Gnome 输入/输出库,处理文件系统信息、文件、设备、应用程序信息和大量其他抽象,使 GNOME 应用程序开发人员的工作更加轻松。例如,Nautilus 文件管理器利用 Gtk 来处理小部件、按钮和窗口;GIO 查询文件和设备信息(参见相关答案附有代码示例);GLib 用于文件操作;并攻击使小部件可访问。