Linux内核存储接口,内存管理 – Linux内核API kcalloc

kcalloc函数功能描述:kcalloc( )函数与kzalloc( )函数(参考kzalloc( )函数的分析)功能类似,都是基于slab分配在物理上连续的实际的内存,并且在分配了内存之后,又将内存中的内容都初始化为0。但kcalloc( )是为一个数组分配内存空间,数组中的一个元素对应一个内存对象。

kcalloc文件包含:

#include

kcalloc函数定义

在内核源码中的位置:linux-3.19.3/include/linux/slab.h

函数定义格式:

static inline void *kcalloc(size_t n, size_t size, gfp_t f lags)

kcalloc输入参数说明

n:数组中的元素个数。

size:指定数组中每个元素所对应的内存对象的大小。

flags:分配标志,它提供了多种分配行为,其选项取值参考alloc_pages( )函数分析说明。

kcalloc返回参数说明

kcalloc( )函数返回一个对所分配的内存对象数组的引用。

kcalloc实例解析

编写测试文件:kcalloc.c

头文件及全局变量声明如下:

#include

#include

#include

MODULE_LICENSE("GPL");

static int __init kcalloc_init(void);

static void __exit kcalloc_exit(void);

#define MEM_VMALLOC_SIZE 8

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值