php扩展开发(一)–把基本类型的值转变成zval结构

我们在开发PHP扩展的时候,经常会有需要把基本类型的值转化为zval结构的需求,这里,我给出两段代码,来完成这个需求。

1
2
3
4
5
6
int fd;
zval *zfd;

fd = 1;
TSW_MAKE_STD_ZVAL(zfd);
ZVAL_LONG(zfd, fd); // Before using ZVAL_LONG, you need to allocate memory first.
1

TSW_MAKE_STD_ZVAL宏的作用就是在栈上创建一块临时的内存,然后让p指针指向这块内存。然后,我们再使用ZVAL_*系列的函数来进行转换。