php内核memcpy不解
本文介绍了php内核memcpy不解的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
/* concatenates "bar" after the newly reallocated large enough "FOO" */
memcpy(ZSTR_VAL(foobar) + ZSTR_LEN(FOO), ZSTR_VAL(bar), ZSTR_LEN(bar));
解决方案
void* memcpy(void * destination, const void * source, size_t num);
这个操作是将"bar"
连接到新的重新分配的足够大的空间"FOO"
之后,
其中ZSTR_VAL
返回的是char*
,ZSTR_LEN
返回的是int
。
指针可以理解为内存地址,现有空间头部的指针即为ZSTR_VAL(foobar)
,向后加上空间FOO
的长度,就是FOO
空间结束时的内存地址,从此处开始进行内存拷贝,赋值bar
的值(即为ZSTR_VAL(bar)
),长度为ZSTR_LEN(bar)
。
这篇关于php内核memcpy不解的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文