gpt4 book ai didi

compiler-errors - 将 php5 扩展移植到 php7 并且缺少 MAKE_STD_ZVAL

转载 作者:行者123 更新时间:2023-12-02 10:42:39 27 4
gpt4 key购买 nike

我正在尝试为 php7 编译一个 php5 扩展,但遇到了 MAKE_STD_ZVAL 的一些问题,这些问题似乎不再存在于 php7 中。

我正在尝试编译:php-sweph这使得一些 c 函数可用于一些天文计算。我不是 c 专家,我只对使这个模块适用于 php7 感兴趣。那是什么
MAKE_STD_ZVAL 的全部内容,并且想知道我需要如何更改或更改什么,以便下面的函数在没有 MAKE_STD_ZVAL 的情况下工作?

PHP_FUNCTION(swe_houses)
{
char *arg = NULL;
int hsys_len, rc;
char *hsys = NULL;
double tjd_ut, geolat, geolon;
double cusps[37], ascmc[10];
int i, houses;
zval *cusps_arr, *ascmc_arr;

if(ZEND_NUM_ARGS() != 4) WRONG_PARAM_COUNT;

if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ddds",
&tjd_ut, &geolat, &geolon, &hsys, &hsys_len) == FAILURE) {
return;
}

if (hsys_len < 1)
return;

rc = swe_houses(tjd_ut, geolat, geolon, hsys[0], cusps, ascmc);

/* create 2 index array, and 1 assoc array */
array_init(return_value);

MAKE_STD_ZVAL(cusps_arr);
array_init(cusps_arr);

if (hsys[0] == 'G')
houses = 37;
else
houses = 13;

for(i = 0; i < houses; i++)
add_index_double(cusps_arr, i, cusps[i]);

MAKE_STD_ZVAL(ascmc_arr);

array_init(ascmc_arr);

for(i = 0; i < 10; i++)

add_index_double(ascmc_arr, i, ascmc[i]);

add_assoc_zval(return_value, "cusps", cusps_arr);
add_assoc_zval(return_value, "ascmc", ascmc_arr);
add_assoc_long(return_value, "rc", rc);
}

最佳答案

this link提到了从 php 7 更改或删除的宏的详细信息。

关于compiler-errors - 将 php5 扩展移植到 php7 并且缺少 MAKE_STD_ZVAL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41534430/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com