linux内核常用的内存申请函数
来源:互联网 发布:佛山手机网站建设优化 编辑:程序博客网 时间:2024/05/16 05:44
在读驱动程序时,常遇到内存申请函数。驱动程序属于内核空间,和用户空间用到的内存申请函数不同。
内核空间最常用到的内存申请函数为kmalloc()和kzalloc()。
kmalloc()是申请一段内存空间Kernel memory allocation,并且这段内存空间是物理上连续的。
kmalloc()后常跟memset()使这段内存空间全清为0。kzalloc()申请了内存空间并且清0,z表示zero,
所以kzalloc()=kmalloc()+memset()。
kmalloc()原型:
kmalloc(size_t s,gfp_t flags)
实例:
data=kmalloc(datasize,GFP_KERNEL);memset()原型:
void *memset(void *s,int c,size_t count)
实例:
memset(data,0,datasize)kzalloc()原型:
static inline void *kzalloc(size_t s,gfp_t flags)
{
return kmalloc(size_t s,flags | _GFP_ZERO);
}
实例:
data=kzalloc(datasize,GFP_KERNEL)内核空间还有几个内存申请函数vmalloc()。vmalloc()申请到的内存空间是可以物理上不连续的。
原型:void *vmalloc(unsigned long size)
使用:data=vmalloc(size)
在写应用程序的时候常用到malloc()
static void *malloc(int size)
data=malloc(size);
0 0
- linux内核常用的内存申请函数
- Linux内核空间的内存申请常用函数
- 内核的几个内存动态申请函数
- inux内核申请内存函数
- Linux内核空间内存申请函数kmalloc、kzalloc、vmalloc的区别
- Linux内核空间内存申请函数kmalloc、kzalloc、vmalloc的区别
- 申请内存的函数
- C语言中常用的几个内存申请函数
- 【Linux】在内核中申请内存
- Linux内核 申请和释放内存流程
- Linux的内存结构以及动态申请的几个函数
- [简记]内核中申请内存和用户空间中申请内存的函数(kmalloc/vmalloc/malloc)对比
- linux内核提供的内存操作函数
- linux 内核 内存管理 bootmem alloctor 申请内存
- 内核中的内存申请
- 内核态申请内存
- 内核申请内存
- linux驱动开发--内核空间中内存的申请与释放
- spring security配置与分析
- Android Service使用方法--简单音乐播放实例
- LA3177长城守卫
- Appium基于安卓的各种FindElement的控件定位方法实践和建议
- 选择排序之一 简单选择排序
- linux内核常用的内存申请函数
- 华为:工作感想(3)
- 潍县萝卜脆
- C#创建带有命名空间的XML文档
- 一步一步学zedboard之十五busybox安装
- C#数值的大小范围限制处理.
- LA3415保守的老师
- webService xml解析 android测试 linux 学习-----博客大搜集
- Android开发:分享文字跟多张图片到微信朋友圈