摘要:
php扩展函数返回值MAKE_STD_ZVAL(zv) 宏替换过程如下: 替换之前: MAKE_STD_ZVAL(zv); --------------------------- 第1次替换: ALLOC_ZVAL(zv); INIT_PZVAL(zv); --------------------------- 第2次替换: (zv) = (zval *) emalloc(sizeof(zva... 阅读全文
摘要:
php扩展研究之PHP_FE宏替换过程: //zend函数入口 const zend_function_entry helloworld_functions[] = { //PHP_FE(array_max,NULL) //此处和下面写法效果相等 { "array_max", zif_array_max, NULL, (zend_uint)(sizeof(NU... 阅读全文
摘要:
php扩展函数返回值RETURN_LONG(123) 宏替换过程如下: 替换之前: RETURN_LONG(123); ------------------------- 第1次替换: { RETVAL_LONG(123); return; } ------------------------- 第2次替换: { ZVAL_LONG(return_value, 123); return; } ... 阅读全文
摘要:
//在开发php扩展时,定义函数如下PHP_FUNCTION(php_array_square_sum){ } 把PHP_FUNCTION宏替换完之后的样子如下: 替换前PHP_FUNCTION(php_array_square_sum) 第一次替换:ZEND_FUNCTION(php_array_ 阅读全文