【问题标题】:Where are the VAPI for the C standard library?C 标准库的 VAPI 在哪里?
【发布时间】:2014-07-21 14:29:28
【问题描述】:

我试图研究一些与valac 编译器捆绑的VAPI,至少根据它在Ubuntu下的打包方式,我找不到C标准库的VAPI,我特别对获取这个 VAPI 文件感到好奇,因为我想从更简单的东西开始,而且我比所有其他库都更了解。

那么我在哪里可以找到 C 标准库的 VAPI 文件?

【问题讨论】:

    标签: c vala


    【解决方案1】:

    Vala 使用 glib 作为其标准库,因此答案是 glib-2.0.vapi。在 glib 功能与标准库功能重叠的地方,我们通常使用 glib 版本以获得更好的可移植性,但 glib-2.0.vapi 中也有许多标准库函数实际上并不通过 glib。例如,大多数 GLib.FileStream 方法都是标准的 C 函数——它们实际上在所有地方都得到了很好的支持,因此 glib 不必重新实现它们。

    posix.vapi 包含一些 C 标准库函数,但它们确实不应该被使用。它们在那里主要是因为 Vala 曾经支持 POSIX 配置文件,它允许您编译不使用 GLib 的代码。使用 POSIX 配置文件时,posix.vapi 的使用方式与现在使用 glib-2.0.vapi 的方式非常相似——将 POSIX 与标准 C 调用混合在一起。

    【讨论】:

    • 有没有具体提到 vala 实际使用的 C 标准? C99 ?
    • Vala 编译为 C89,而 glib 也适用于只有 C89 的系统(请记住,MSVC 仍然没有完整的 C99 支持),因此它通常提供 C99 特定功能的替代品。也就是说,一两个 C99 函数可能已经潜入 VAPI 中——如果要在 C99 函数和什么都没有之间进行选择,我们宁愿只是绑定它。
    【解决方案2】:

    您可以在 Posix 命名空间中找到许多 C 标准库函数。

    http://www.valadoc.org/#!api=posix/Posix

    VAPI 文件名为 posix.vapi,它是 valac-0.24-vapi(其中 0.24 是 vala 编译器的版本号)Debian 软件包的一部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-24
      • 2019-04-25
      • 1970-01-01
      相关资源
      最近更新 更多