我知道这个问题可能听起来很奇怪,因为GLib是一个可移植性库,但它有多便携?举一个例子:GLib(包括GObject)是在微控制器上运行还是依赖于某种操作系统?
我可以使用GLib的位置是否有任何限制,或者它可以在任何可以运行C代码的地方运行?
答案 0 :(得分:7)
我可以找到关于GLib依赖性的唯一资源是:
查看“依赖关系”部分 - 非可选依赖关系似乎是:
iconv
函数gettext
函数这意味着您需要将这些中的每一个提供(或端口)到目标系统(例如微控制器)。虽然不是一个不可逾越的障碍,但线程实现通常意味着某种形式的操作系统。
另外值得注意的是,GLib似乎依赖于“托管”C环境,因此您还需要将标准C库移植到目标环境(而不是“独立”C)环境,标准C的子集不需要移植标准C库)。见Hosted and Free-Standing Environments。同样,这通常至少意味着非常基本形式的操作系统。