【问题标题】:does gobject depend on glib or glib depend on gobject?gobject 依赖于 glib 还是 glib 依赖于 gobject?
【发布时间】:2022-02-13 00:16:13
【问题描述】:

我在 gobject 上阅读了一个维基百科页面,上面写着,

仅依赖于 GLib 和 libc,GObject 是 GNOME 的基石,并在 GTK、Pango、ATK 中使用

但是这个GLib API reference 页面在其依赖项中列出了GObject,而这个GObject API reference 页面在其依赖项中列出了GLib

如果维基百科页面上说的是真的, 他们在彼此的依赖关系中如何?它不应该只存在于 GObject 的依赖项下而不存在于 GLib 依赖项下吗?

我对什么依赖于什么感到困惑,或者它们是否相互依赖?如果是,怎么做?

【问题讨论】:

  • 在理解您的问题之前,您需要了解什么是 GLIB 和 GObject 以及它们是如何相互关联的。无论如何,您也部分地回答了您的问题。你应该阅读更多关于Type System Concepts

标签: dependencies gtk glib gobject


【解决方案1】:

这是文档网站的一个怪癖:它目前将依赖项和相关库混为一谈。由于我同时维护生成文档网站的工具和网站本身,因此我会尽快尝试解决此问题。

回答您的问题:GLib 项目由多个 C 库组成:

  • GLib,一个包含有用数据类型和跨平台 API 的低级 C 库,在编写需要移植到各种平台和架构的 C 代码时非常有用
  • GObject,一个用C编写的面向对象的类型系统
  • GIO,一组接口和类,其中包括一组用于访问文件系统及其内容的复杂原语;低级网络接口;基于D-Bus的IPC接口;以及用于编写复杂应用程序的各种其他高级 API
  • GModule,一个跨平台包装器,用于在运行时加载共享模块并解析它们的符号

所有这些库都是 GLib 的一部分。

在较低级别上,GLib C 库位于其他库的下方,GObject 依赖于 GLib 和 GModule;和 GIO 取决于 GObject。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-07
    • 1970-01-01
    相关资源
    最近更新 更多