---
title: aclFinalizeReference
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/runtimeapi/aclcppdevg_03_1974.html
sourcePath: /source/zh/canncommercial/900/API/runtimeapi/aclcppdevg_03_1974.html
indexId: 5a136b8e27143488748ae944611a6ef522148f3d9ee19b912dbe828fba49fc3468
---
# aclFinalizeReference

#### 产品支持情况

| 产品 | 是否支持 |
| --- | --- |
| Atlas 350 加速卡 | √ |
| Atlas A3 训练系列产品 / Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | √ |
| Atlas 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |


#### 功能说明

去初始化函数，用于释放进程内acl接口使用的相关资源。

aclFinalizeReference接口内部涉及引用计数的实现，aclInit接口每被调用一次，则引用计数加一，aclFinalizeReference接口每被调用一次，则该引用计数减一，当引用计数减到0时，才会真正去初始化。aclFinalize接口与本接口的区别在于，调用aclFinalize接口会将计数清零，直接去初始化。


#### 函数原型

```
aclError aclFinalizeReference(uint64_t *refCount)
```


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| refCount | 输入&输出 | 返回调用aclFinalizeReference后的引用计数。 若不需要获取引用计数，此处可传nullptr。 |


#### 返回值说明

返回0表示成功，返回其他值表示失败，请参见aclError。


#### 约束说明

应用进程退出前，应确保已调用aclFinalize或aclFinalizeReference接口完成去初始化，否则可能会导致异常，例如应用进程退出时有异常报错。

不建议在析构函数中调用aclFinalize或aclFinalizeReference接口，否则在进程退出时可能由于单例析构顺序未知而导致进程异常退出的问题。
