我有几个小库和写在C(不是C ++)包装,我想使可用经由扩展到PHP。我读了几个教程写适当的PHP扩展和它似乎并不困难不,但是我不希望维护除了库扩展的麻烦。

我读了痛饮支持建设的扩展,是与Zend PHP 5,这是完美的兼容我。然而,支撑似乎根据SWIG文档,测试阶段。

我的库是很常见的,在C的使用的元示例:

int main(void)
{
    struct libfoo *foo;

    char **tmp;

    foo = foo_init();
    if (foo == NULL) {
        fprintf(stderr, "Could not allocate foo\n");
        return 1;
     }

     tmp = foo_parse(foo, "/foo/foo.txt");
     ......
     foo_finit(foo);
}

有没有人有任何经验与使用痛饮做出了这样简单的库扩展分享?有谁知道C语言编写的任何自由/开源项目都使用痛饮,使PHP扩展作为构建的可选部分的?

在此先感谢,我希望能得到一些反馈。如果其积极的,我只是花一些时间来让你了解痛饮..如果没有,我会花时间只是手工制作的扩展。

有帮助吗?

解决方案

若干年前,我参与一个项目,以产生基于一个C API原型Python模块。我们决定使用痛饮让我们开始因为没有人对项目的认识Python的C API。虽然在原则上有一些自动生成功能的想法听起来在现实中大就引起了我们,因为我们需要调整和定制的SWIG生成的代码,以适应我们的需要更多的工作。

从PHP的角度我保持一个PHP的C扩展,不相信你的“简单”的C函数(S)与SWIG去会有所帮助,用手工编写代码会比较容易。这可能是值得你获得或阅读扩展和嵌入PHP 通过萨拉Golemon。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top