是否可以在C程序中调用PHP的C函数?

当您下载PHP的源代码时,您会发现所有的好东西都在各自的array.cstring.c等文件的ext/目录中。

现在,我想知道,有可能从具有这些PHP C文件的C程序调用这些函数吗?

你可以做到,但这并不意味着这是一个好主意。 PHP库函数处理PHP的内部数据类型,内存分配和管理方案等。您最终可能会浪费大量时间和精力在PHP和C之间编组数据。

大多数function可能在C库中可用,或者无论如何都可以在C(带有C风格的接口)中轻松实现。 另外,我怀疑你最终只是通过访问几个PHP的函数将整个PHP链接到你的程序中。

当然可能但可能比它的价值更麻烦。 如果你用C语写作然后用C语写,那么一些不自然的混合C和PHP会让你看起来很有趣。

从理论上讲,问题是你为什么要这样做。 请注意,PHP函数处理存储在PHP数据结构中的数据,并且经常需要初始化各种PHP结构和设置才能工作。

因此,如果要将C代码添加到PHP,请查看编写PHP扩展 。

如果你想在你的C程序中安装PHP引擎,这可以通过嵌入来实现 ,但是对于大多数任务来说很少做,这是一种过度杀伤力。

如果你只是想重用一些代码,那么PHP许可证就像BSD一样,所以你可以在大多数情况下使用代码,只要你遵循许可证,但要注意我上面提到的这些外部依赖项。

好吧,为什么不呢? 只需解决任何依赖关系,然后离开…

当然有许可证值得一试。 但代码明智,它应该工作。