开发者
下载

迁移废弃接口

废弃接口迁移流程

  1. 识别废弃接口:编译时查看废弃警告,确认替代接口。
  2. 评估迁移影响:分析接口参数、返回值、语义差异。
  3. 编写迁移代码:替换废弃接口调用,适配新接口参数。
  4. 测试验证:确保迁移后功能正确、性能符合预期。

aclrtQueryEvent -> aclrtQueryEventStatus迁移示例

// 废弃接口(旧代码)
aclrtEventStatus status;
aclrtQueryEvent(event, &status);
if (status == ACL_EVENT_STATUS_COMPLETE) {
    // ...
}

// 替代接口(新代码)
aclrtEventRecordedStatus status;
aclrtQueryEventStatus(event, &status);
if (status == ACL_EVENT_RECORDED_STATUS_COMPLETE) {
    // ...
}

推荐做法

  1. 定期检查编译警告:及时处理废弃接口警告,避免积累。
  2. 优先使用新接口:新接口通常有更好的语义、性能或功能。
  3. 版本信息记录:应用启动时记录Runtime版本,便于问题定位。
  4. 特性探测优于版本判断:使用特性查询接口判断能力,而非硬编码版本号。
  5. 封装版本适配逻辑:将兼容性逻辑集中在适配层,便于维护。

避免做法

  1. 不要忽略废弃警告:废弃接口可能在未来版本移除,导致编译失败。
  2. 不要硬编码版本判断:版本号判断缺乏灵活性,应使用特性探测。
  3. 不要混用新旧接口:同一功能模块统一使用新或旧接口,避免混乱。
  4. 不要假设接口语义不变:迁移时仔细阅读新接口文档,确认语义一致。