---
title: aclrtMallocPhysical
description: "申请物理地址空间，并返回一个物理内存handle。"
url: https://www.hiascend.com/document/detail/zh/Atlas200IDKA2DeveloperKit/latest/Application%20Development%20Guide/aadgc/aclcppdevg_03_0118.html
sourcePath: /source/zh/Atlas200IDKA2DeveloperKit/23.0.RC2/Application Development Guide/aadgc/aclcppdevg_03_0118.html
indexId: e402cd91f41d638da87923ae9b5eb31be008750dfe29f8ef6a4213c1cec98872105
---
# aclrtMallocPhysical

#### 函数功能

申请物理地址空间，并返回一个物理内存handle。

本接口需与以下其它接口配合使用，以便申请连续的虚拟内存地址、最大化利用物理内存地址的目的：1. 申请虚拟地址空间（  aclrtReserveMemAddress
接口）；
2. 申请物理内存（  aclrtMallocPhysical
接口）；
3. 将虚拟地址映射到物理内存（  aclrtMapMem
接口）；
4. 执行任务（调用具体的任务接口）；
5. 取消虚拟地址与物理内存的映射（  aclrtUnmapMem
接口）；
6. 释放物理内存（  aclrtFreePhysical
接口）；
7. 释放虚拟地址空间（  aclrtReleaseMemAddress
接口）。


#### 约束说明

Ascend RC形态不支持调用本接口。


#### 函数原型

aclError aclrtMallocPhysical(aclrtDrvMemHandle *handle, size_t size, const aclrtPhysicalMemProp *prop, uint64_t flags)


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| handle | 输出 | 存放物理地址信息的handle。 |
| size | 输入 | 物理地址空间大小，单位Byte。 size当前需按照2M对齐。 |
| prop | 输入 | 物理内存属性信息。 |
| flags | 输入 | 预留，当前只能设置为0。 |


#### 返回值说明

返回0表示成功，返回其它值表示失败。
