10

我知道这个问题可能听起来很奇怪,因为 GLib 是一个可移植库,但它的可移植性如何?举一个例子:GLib(包括 GObject)是在微控制器上运行还是依赖于某种操作系统?

我可以在哪里使用 GLib 是否有任何限制,或者它会在可以运行 C 代码的任何地方运行吗?

4

1 回答 1

9

我能找到的关于 GLib 依赖关系的唯一资源是:

编译 GLib 包

查看“依赖项”部分 - 非可选依赖项似乎是:

  • 一个iconv函数
  • 一个gettext函数
  • 线程实现
  • PCRE

这意味着您需要将这些中的每一个提供(或移植)到任何目标系统(例如微控制器)。虽然不是不可逾越的障碍,但线程实现通常意味着某种形式的操作系统。

另外值得注意的是,GLib 似乎依赖于“托管”C 环境,因此您还需要将标准 C 库移植到目标环境(与“独立”C 环境相反,标准 C 的子集不需要移植标准 C 库)。请参阅托管和独立环境。同样,这通常意味着至少一种非常基本的操作系统形式。

于 2012-04-30T14:39:38.560 回答