【问题标题】:How Do I Make a PHP Module with the Vala Programming Language?如何使用 Vala 编程语言制作 PHP 模块?
【发布时间】:2023-04-10 17:33:01
【问题描述】:

这种名为 Vala 的新语言据说类似于 C#,据说比 C++ 或 C 更容易,它在 Linux 上使用 GCC 编译器编译成 C。

听起来不错。现在我想用它来做一个 PHP 扩展模块,这样就可以在 Vala 中制作慢的 PHP 代码,并作为一个函数导入到 PHP 中。

如何在 Vala 中实现这一点?有没有可能?

【问题讨论】:

    标签: php gcc php-extension vala


    【解决方案1】:

    您需要为您需要使用的 C 库使用或编写(如果不存在)VAPI 文件。 这很简单,您只需要查看现有示例:http://live.gnome.org/Vala/Bindings 或干脆:http://git.gnome.org/browse/vala/tree/vapi

    【讨论】:

      【解决方案2】:

      我不知道 Vala,但如果你可以调用本机代码,声明 C 结构并将它们作为指向所述本机代码的指针传递,并定义使用 C 调用约定的函数,那应该是可能的。但是用 C/C++ 做肯定会更容易。

      编辑:homepage

      valac 从 Vala 源文件生成 C 源文件和头文件,就像您直接在 C 中编写库或应用程序一样。从 C 应用程序中使用 Vala 库与使用任何其他基于 GObject 的库看起来没有什么不同。不会有 vala 运行时库,应用程序可以使用它们的 tarball 分发生成的 C 代码,因此用户无需额外的运行或构建时依赖项。

      所以,虽然这不是确定的,但我认为你可能可以。

      【讨论】:

        【解决方案3】:

        我创建了如何使用其他语言的 Vala 库的简单示例:

        https://github.com/antono/vala-object

        通过 GOobject Introspection 自动生成的 vala 库绑定。

        https://live.gnome.org/GObjectIntrospection

        使用 gobject-for-php 并免费获取绑定!

        https://github.com/indeyets/gobject-for-php

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2010-10-13
          • 1970-01-01
          • 2013-09-10
          • 1970-01-01
          • 1970-01-01
          • 2017-10-27
          • 2011-04-18
          相关资源
          最近更新 更多