Skip to main content
 首页 » 操作系统

Linux中常用的函数

2022年07月19日163mayingbao

1.devm_kzalloc()

函数 devm_kzalloc() 和kzalloc()一样都是内核内存分配函数,但是devm_kzalloc()是跟设备(device)有关的,当设备(device)被detached或者驱动(driver)卸载(unloaded)时,内存会被自动释放。另外,当内存不在使用时,可以使用函数devm_kfree()释放。
而kzalloc()则需要手动释放(使用kfree()),但如果工程师检查不仔细,则有可能造成内存泄漏。
下面是devm_kzalloc()的实现:
/* managed devm_k.alloc/kfree for device drivers */   
extern void *devm_kmalloc(struct device *dev, size_t size, gfp_t gfp);   
static inline void *devm_kzalloc(struct device *dev, size_t size, gfp_t gfp)   
{   
    return devm_kmalloc(dev, size, gfp | __GFP_ZERO);   
}  

参考:http://blog.csdn.net/jgw2008/article/details/52691568


本文参考链接:https://www.cnblogs.com/hellokitty2/p/7493160.html