---
title: kupl_hbw_malloc
description: "申请OPM内存，并尽可能锁住内存。"
url: https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/hpckit/devg/KunpengHPCKit_developer_078.html
sourcePath: /source/zh/kunpenghpcs/hpckit/devg/KunpengHPCKit_developer_078.html
indexId: b0341dd0bcb1eb202d800200cf5da323ccb2a7c8097aa550122e0946ca5032c067
---
# kupl_hbw_malloc

申请OPM内存，并尽可能锁住内存。

#### 接口定义

void* kupl_hbw_malloc(size_t size);


#### 参数


**表1 参数定义**

| 参数名 | 类型 | 描述 | 输入/输出 |
| --- | --- | --- | --- |
| size | size\_t | 需要申请的内存大小 | 输入 |


#### 返回值

- 成功：返回申请得到的内存指针
- 失败：返回nullptr


#### 示例

```
#include <stdio.h> 
#include <stdlib.h>
#include "kupl.h" 

int main() 
{ 
    int len = 1024; 
    char *data = (char *)kupl_hbw_malloc(len);
    if (data == nullptr) {
        return 0;
    }
    kupl_hbw_free(data); 
    return 0; 
}
```


- 上述示例演示了申请锁住的OPM内存并释放该内存的流程。
- 上述kupl_hbw_malloc函数申请大小为len的内存空间并尽可能锁住。
- kupl_hbw_malloc函数会在条件允许的情况下通过内存锁定机制防止被交换到磁盘。其中环境中包含sdma设备是锁定申请的内存的必要条件。
- kupl_hbw_malloc在无法申请到指定的OPM内存时，会返回nullptr。
