【问题标题】:Is the GNU C Library usable on non-GNU (or POSIX) platforms?GNU C 库可以在非 GNU(或 POSIX)平台上使用吗?
【发布时间】:2010-11-18 02:17:55
【问题描述】:

只是想知道,GNU C 库 (glibc) 是否可以在非 GNU 和/或非 POSIX 平台(如 Microsoft Windows)上使用?

【问题讨论】:

  • 鱼能出海吗?
  • 我认为更好的问题是,它是否可用。当它根本不存在时,您将如何在 Windows 中使用它?
  • 如果您使用的是 Cygwin,当然可以。
  • 最好没有cygwin,但是是的,它可用吗?我觉得不是...?只是想知道这样我的程序将是可移植的
  • 我认为 cygwin 帮助不大。您不能真正将 C 库的实现层层叠加,而 Cygwin 的整个工作方式就是成为一个模拟 POSIX 的 C 库层。

标签: c windows gnu glibc


【解决方案1】:

是的,理论上可行,但在实践中并不值得。您需要将系统调用接口、动态链接器和其他部分移植到 Windows 或您选择的平台上,而 Glibc 不是一个理想的选择。

如果您真的需要一个自包含的 C 库,我会考虑使用 newlibuClibc(或 FreeBSD 的/OpenBSD 的 libc)而不是 glibc。 Glibc 是一个复杂的野兽,替代品要小得多,也更容易理解。

【讨论】:

  • +1 用于将 glibc 称为“野兽”并推荐替代品。如果您找到了正确的编译器选项以使 glibc 构建树的大小达到 666 MB,则可以加分。
【解决方案2】:

前提是 glibc 已被移植到相关内核。然而,使用 Gnulib 代替原生 API 的包装器可能更容易。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-18
    • 1970-01-01
    • 2017-08-30
    • 1970-01-01
    • 1970-01-01
    • 2011-05-23
    • 1970-01-01
    • 2021-07-02
    相关资源
    最近更新 更多