php扩展研究之PHP_FE宏替换过程:
//zend函数入口
const zend_function_entry helloworld_functions[] = {
//PHP_FE(array_max,NULL) //此处和下面写法效果相等
{
"array_max", zif_array_max, NULL, (zend_uint)(sizeof(NULL) / sizeof(struct _zend_arg_info) - 1), 0
},
PHP_FE_END /* Must be the last line in helloworld_functions[] */
};
替换之前:
PHP_FE(array_max,NULL)
-----------------------------------
第1次替换:
ZEND_FE(array_max,NULL)
-----------------------------------
第2次替换:
ZEND_FENTRY(array_max, zif_array_max, NULL, 0)
-----------------------------------
第3次替换:
ZEND_FENTRY(array_max, zif_array_max, NULL, 0)
-----------------------------------
第4次替换:
{ 'array_max', zif_array_max, NULL, (zend_uint) (sizeof(NULL)/sizeof(struct _zend_arg_info)-1), 0 },