01 2018 档案

摘要:php扩展函数返回值MAKE_STD_ZVAL(zv) 宏替换过程如下: 替换之前: MAKE_STD_ZVAL(zv); --------------------------- 第1次替换: ALLOC_ZVAL(zv); INIT_PZVAL(zv); --------------------------- 第2次替换: (zv) = (zval *) emalloc(sizeof(zva... 阅读全文
posted @ 2018-01-13 12:02 sajanray 阅读(305) 评论(0) 推荐(0) 编辑
摘要: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... 阅读全文
posted @ 2018-01-09 10:21 sajanray 阅读(1370) 评论(0) 推荐(0) 编辑
摘要:php扩展函数返回值RETURN_LONG(123) 宏替换过程如下: 替换之前: RETURN_LONG(123); ------------------------- 第1次替换: { RETVAL_LONG(123); return; } ------------------------- 第2次替换: { ZVAL_LONG(return_value, 123); return; } ... 阅读全文
posted @ 2018-01-05 14:36 sajanray 阅读(334) 评论(0) 推荐(0) 编辑
摘要://在开发php扩展时,定义函数如下PHP_FUNCTION(php_array_square_sum){ } 把PHP_FUNCTION宏替换完之后的样子如下: 替换前PHP_FUNCTION(php_array_square_sum) 第一次替换:ZEND_FUNCTION(php_array_ 阅读全文
posted @ 2018-01-05 14:18 sajanray 阅读(216) 评论(0) 推荐(0) 编辑