>  기사  >  백엔드 개발  >  《PHP核心技术与最佳实践》编写一个完整的扩展

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

WBOY
WBOY원래의
2016-06-23 13:14:55889검색

  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的内存管理函数代替操作系统的内存管理函数。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.