自己用C开发PHP模块有什么优势

如题所述

第1个回答  2017-03-28
PHP 和 C++不沾边 , 是 C 写的 . 就目前而言 , 所有版本都是的 .
不是内置函数是 C 实现的 , 整个 PHP 从 sapi->词法分析(re2c , zend_language_scanner.l)->语法分析(bison, zend_language_parser.y)->zendVM , 都是 C 实现的 .

扩展实现 function add($x, $y)(return $x+y;} 这个属于大炮打小鸟 , 你可以用 phpsrc/ext/ext_skel 自己建一个扩展骨架看看就明白了 .

PHP 想调用 C 中的东西很简单 , 假如现在有个动态链接库 , liba.so , 其中有一个 int a() ;并且提供一个 a.h 包含函数 a 的定义 , 那就简单了 , 使用 c 编译选项如下
gcc -I[a.h所在路径] -L[liba.so所在路径] -la xx.c test
xx.c 中调用 a() 就不列了 , 仅列编译选项 . 因为 PHP 扩展要调动态链接库中的函数,重要的是环境配置。
使用 ext_skel 生成的扩展框架中会有一个 config.m4 , 在那个里面可以做一些 gcc 选项 , 你可以自己研究研究

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网