Home  >  Article  >  Backend Development  >  《PHP核心技术与最佳实践》编写一个完整的扩展

《PHP核心技术与最佳实践》编写一个完整的扩展

WBOY
WBOYOriginal
2016-06-23 13:14:55889browse

  1. 这里编写一个双链表结构的扩展,扩展相关代码文件如下(点击查看源码,不过中文都乱码了..):

    config.m4

    list.h

    php_list.c

    测试文件及结果图:

这里出现了错误,好像那里返回的10是取不到值时的默认返回值RETURN_ZVAL(retval,1,0)这个?如果是那就说明

list_fetch (list_head *head,int index,zval **retval) 有问题,或者list_add_head()有问题,而如果是

$list = list_create();

for ($i=0; $i

list_add_tail($list,$i); //"element[$i]"

}

从得到的运行结果似乎是对的,

但运行结果又和list_add_head()或者是使用list_add_tail()无关,

搞不明白,有大神路过还望指教!

最后,PHP扩展更接近PHP底层,如果编写的扩展有错误,很有可能会导致PHP崩溃,所以在编写PHP扩展时要非常细心,可以的话最好使用PHP提供的API代替操作系统的API,例如使用PHP的内存管理函数代替操作系统的内存管理函数。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn