当您下载PHP的源代码时,您会发现所有好东西都位于各自ext/
,array.c
等文件的string.c
目录中。
现在,我想知道,可以从具有这些PHP C文件的C程序中调用这些函数吗?
答案 0 :(得分:4)
你可以做到,但这并不意味着这是一个好主意。 PHP库函数处理PHP的内部数据类型,内存分配和管理方案等。您最终可能会浪费大量时间和精力在PHP和C之间编组数据。
大多数功能可能在C库中可用,或者无论如何都可以在C(带有C风格的接口)中轻松实现。另外,我怀疑你最终只是通过访问几个PHP的函数将整个PHP链接到你的程序中。
当然可能但可能比它的价值更麻烦。如果你用C语写作然后用C语写,那么一些不自然的混合C和PHP会让你看起来很有趣。
答案 1 :(得分:3)
从理论上讲,问题是你为什么要这样做。请注意,PHP函数处理存储在PHP数据结构中的数据,并且经常需要初始化各种PHP结构和设置才能工作。
因此,如果要将C代码添加到PHP,请查看writing PHP extensions。
如果你想在你的C程序中安装PHP引擎,embedding可以实现这一点,但是对于大多数任务而言很少这样做是一种过度杀伤。
如果你只想重用一些代码,PHP license就像BSD一样,所以你可以在大多数情况下使用代码,只要你遵循许可,但要注意我上面提到的这些外部依赖。 / p>
答案 2 :(得分:1)
好吧,为什么不呢?只需解决所有依赖关系,然后离开......
当然有许可证值得一试。但代码明智,它应该工作。