是否可以使用 php 中的C++二进制文件
2022-08-30 19:49:31
是否可以编写一些C或C++代码并编译为二进制文件,然后将这些二进制文件与php一起使用?是否也可以使用C和C++编写php库?
如果是这样,请告诉我该怎么做?
是否可以编写一些C或C++代码并编译为二进制文件,然后将这些二进制文件与php一起使用?是否也可以使用C和C++编写php库?
如果是这样,请告诉我该怎么做?
PHP在设计上是模块化的 - 它由“引擎”和许多扩展组成,其中一些是必不可少的(例如“标准”扩展),一些是可选的。它们可以动态编译或加载(通过php.ini设置或函数)。dl()
如果你愿意学习API,你可以轻松地用C/C++编写自己的PHP扩展。从有关如何“破解Zend引擎”的文档开始。
您可能希望查看 SWIG,这是一种用于包装库的通用工具,以便可以从多种语言调用它们。PHP由SWIG支持,Perl和Lua(我个人使用的目标)也是如此。引用SWIG网站上的功能列表:
SWIG目前为18种不同的目标语言生成包装代码:
- 快板 CL
- C#
- 中频调速器
- 断续器
- 鸡
- 诡计
- 爪哇岛
- 路亚
- 莫杜拉-3
- Mzscheme
- 断续器
- 八度
- 佩尔
- 菲律宾比索
- 蟒
- R
- 红宝石
- 断续器
- 乌菲
除此之外,解析树可以导出为XML和Lisp s表达式。Pike模块也可用于实验工作。
它的一些功能依赖于每语言包装生成器中的后端支持,但通常它提供了易于使用的包装器,用于将所有纯数据值类型传入和传出函数。如果目标语言具有概念,它通常也可以映射对象模型。