运行时
版本查询、环境诊断、Provider 包安装。函数仍是 C ABI。公开 runtime 没有加密 / 签发符号。
Windows 上指名 edge-rknn 返回 DARRA_UNSUPPORTED_PLATFORM。edge-rknn 永远不会出现在 Windows 安装列表。
功能概览
| 类别 | 属性 | 类型 | 访问 | 说明 |
|---|---|---|---|---|
| 版本 | darra_version | uint32_t | 查询 | 打包版本 major*65536 + minor*256 + patch |
darra_version_string | const char* | 查询 | 静态字符串,形如 1.0.0+runtime;禁止释放 | |
| 诊断 | darra_diag_collect | int32_t | 查询 | 本机环境诊断 JSON;用完 darra_string_free |
| 运行时包 | darra_runtime_ensure | int32_t | 过程 | 确保 Provider / profile 已装;幂等、事务性 |
darra_runtime_ensure_cancel | void | 过程 | 取消在飞的 ensure;无在飞则为 no-op |
快速开始
#include "darra_ai.h"
#include <cstdio>
int main() {
if (DARRA_VERSION_DECODE_MAJOR(darra_version()) != DARRA_VERSION_MAJOR) {
std::fprintf(stderr, "ABI 不匹配,库版本 = %s\n", darra_version_string());
return 1;
}
int32_t rc = darra_runtime_ensure(nullptr, nullptr, nullptr, nullptr);
if (rc != DARRA_OK) {
darra_error_t err{};
err.size = sizeof(err);
darra_last_error(&err);
std::fprintf(stderr, "[%d] %s\n建议: %s\n", err.code, err.message, err.hint);
return static_cast<int>(rc);
}
return 0;
}
nullptr profile = 按硬件自动选细包。SDK 不自动安装 / 升级系统驱动。