---
title: 头文件和库文件说明
description: "接口名以acl作为前缀，命名风格为：acl+接口类别缩写+*，其中，*表示操作动词和对象，均采用首字母大写。下文为了描述方便，将本文中的接口统称为acl接口。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/runtimeapi/aclcppdevg_03_1952.html
sourcePath: /source/zh/canncommercial/900/API/runtimeapi/aclcppdevg_03_1952.html
indexId: dc90192b0167f0f273083be237fcddfee5056476409105f3e430cd2c5f7acdfd68
---
# 头文件和库文件说明

#### 接口分类

接口名以acl作为前缀，命名风格为：acl+接口类别缩写+*，其中，*表示操作动词和对象，均采用首字母大写。下文为了描述方便，将本文中的接口统称为acl接口。


**表1 关键接口类别**

| 接口名前缀 | 描述 |
| --- | --- |
| acl | 基础接口，包括初始化&去初始化、日志、数据类型转换等。 |
| aclrt | 运行时管理类的接口，包括设备管理、Stream管理、内存管理、Kernel加载与执行等。 |
| aclmdlRI | 模型运行实例管理接口。 |
| acltdt | 数据传输接口。 |
| aclmdl&aclop | 模型和算子数据Dump接口。 |
| aclprof | Profiling数据采集接口。 |


#### 调用接口依赖的头文件和库文件说明

安装固件、驱动及CANN软件包后，编译、运行应用程序时才能引用到acl接口的头文件、库文件。

您需要根据实际使用的acl接口来include依赖的文件，各头文件的用途如下表所示。

acl接口的头文件在“${INSTALL_DIR}/include/”目录下，库文件在“${INSTALL_DIR}/lib64/”目录下。${INSTALL_DIR}请替换为CANN软件安装后文件存储路径。以root用户安装为例，安装后文件默认存储路径为：/usr/local/Ascend/cann。

编译acl接口程序时，请按照include的头文件依赖对应的库文件，如果引用多余的so文件（例如libascendcl.a），可能导致版本功能异常或后续版本升级时存在兼容性问题。


**表2 头文件列表**

| 定义接口的头文件 | 用途 | 对应的库文件 |
| --- | --- | --- |
| acl/acl\_rt.h | 用于定义初始化/去初始化、Device管理、Context管理、Stream管理、同步等待、内存管理等接口。 | libacl\_rt.so 说明：为了兼容旧版本，旧版本中支持使用libascendcl.so，但后续版本这种方式会废弃，建议使用libacl\_rt.so，防止后续版本出现兼容性问题。 |
| acl/acl\_dump.h | 用于定义模型和算子Dump接口。 | libascend\_dump.so |
| acl/acl\_prof.h | 用于定义Profiling数据采集接口。 | libmsprofiler.so 说明：为了兼容旧版本，旧版本中支持使用libascendcl.so，但后续版本这种方式会废弃，建议使用libmsprofiler.so，防止后续版本出现兼容性问题。 |
| acl/acl\_tdt.h | 用于定义Tensor数据传输接口。 | libacl\_tdt\_channel.so |
| acl/acl\_tdt\_queue.h | 用于定义共享队列管理、共享Buffer管理接口。 | libacl\_tdt\_queue.so |
