这里编写一个双链表结构的扩展,扩展相关代码文件如下(点击查看源码,不过中文都乱码了..):
config.m4
list.h
php_list.c
测试文件及结果图:
立即学习“PHP免费学习笔记(深入)”;
这里出现了错误,好像那里返回的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的内存管理函数代替操作系统的内存管理函数。
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号