void *kmemdup(const void *src, size_t len, gfp_t gfp)用于新申请一段内存,并将形参src中的内容复制到新申请的这段内存中
其源码分析如下:
/**
* kmemdup - duplicate region of memory
*
* @src: memory region to duplicate
* @len: memory region length
* @gfp: GFP mask to use
*/
void *kmemdup(const void *src, size_t len, gfp_t gfp)
{
void *p;
#新申请一个长度为len的内存
p = kmalloc_track_caller(len, gfp);
if (p)
#如果新申请的内存不为null的话,则通过memcpy将src中的内容copy到这段新申请的内存中.
memcpy(p, src, len);
return p;
}
内存管理API之kmemdup
最新推荐文章于 2024-04-09 16:14:21 发布