php7中is_ref__gc的替代品是啥
Posted
技术标签:
【中文标题】php7中is_ref__gc的替代品是啥【英文标题】:What is the substitute for is_ref__gc in php7php7中is_ref__gc的替代品是什么 【发布时间】:2016-05-02 18:58:30 【问题描述】:在 php5 中,zval 结构有一个成员 'is_ref__gc'。我们可以这样使用它:
zval *x
...
...
if (!x->is_ref__gc)
printf("newx or newy isn't by ref");
return;
但是,在php7中,zval没有这样的成员。 php7 中 is_ref__gc 的替代品是什么?即如何修改上面的代码?
【问题讨论】:
Z_ISREF_P
。就像你应该在 PHP 5 中做的那样。你知道,它被称为is_ref__gc
是有原因的。
PHP 7 中的 zval 通常不作为指针传递,并且它们本身不包含引用计数。阅读:wiki.php.net/phpng-upgrading
【参考方案1】:
我变了
if (!x->is_ref__gc)
到
if (x->value.ref->gc.refcount == 0)
现在看来,效果不错。
【讨论】:
以上是关于php7中is_ref__gc的替代品是啥的主要内容,如果未能解决你的问题,请参考以下文章
新版本 Django 中 DateModifierNode 的替代品是啥
Windows 中 posix_memalign 的正确替代品是啥?