您的位置:网站首页 > php源码 > 正文

PHP FFI 允许在 PHP 脚本中嵌入原始 C 代码 软件推介

类别:php源码 日期:2018-4-23 21:18:49 人气: 来源:

  Zend 的 Dmitry Stogov 通过允许 PHP 执行嵌入式 C 代码扩展了 PHP 的领域。 这将允许完全访问本地 C 函数,变量以及数据结构。

  解决方案 PHP FFI 作为实验性扩展提供,但要求 PHP 7.3 的开发版本。 该解决方案还不能用于生产,但它构建在的基础之上,使用 FFI(外部函数接口)库 libffi,允许高级语言生成代码。

  FFI::__constructor() 有两个参数(都是可选的)。 第一个是 C 声明的集合,第二个是 DSO 库。 由第一个参数定义的所有变量和函数都绑定到 DSO 库中相应的本地符号,然后可以作为FFI对象方法和属性访问。

  C 类型的参数,返回值和变量会自动转换为 PHP 类型(如果可能)。 否则,它们被封装在一个特殊的 CData 代理对象中,并可能被元素访问。

  在某些情况下(例如,通过指针传递 C 结构),我们可能需要创建一个真正的 C 数据结构。 这可以使用 FFF::new() 方法。 它需要一个 C 类型定义,并且可以重用由 FFI::__constructor() 定义的 C 类型和标签。

  FFI 目前的数据结构访问还比较缓慢,比访问原始 PHP 数组和对象的速度慢大约 4 倍。现阶段的速度虽然不太乐观,但还是可以帮助节省内存和资金的。

  

0
0
0
0
0
0
0
0
下一篇:没有资料

相关阅读

网友评论 ()条 查看

姓名: 验证码: 看不清楚,换一个

推荐文章更多

热门图文更多

最新文章更多

关于联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助

CopyRight 2002-2012 技术支持 源码吧 FXT All Rights Reserved

赞助合作: