C++
直接使用原生公共 C++ API,编译标准以所选 SDK 包为准。Release 使用 /MD,Debug 使用 /MDd;包内 CMake helper 负责导入库和复制运行时。公共 ABI 跨 DLL 传递 STL,消费者须匹配编译器及 CRT 约定。
C 与 C++ Wrapper
Windows x64 Full Profile 的 C ABI 冻结 195 个导出。C SDK 不跨 ABI 传递 C++ STL,但仍需正确部署运行时和遵守 handle 所有权。源码 C++ Wrapper 建立在 C ABI 上,与直接使用原生 C++ API 是不同选择。
Go
Go SDK 3.1.0 的 GA 范围为 Windows x64 Full Profile。初始化前先 Load 运行库,再 Init;UI 操作保持在初始化线程,跨 goroutine 工作通过 PostTask 返回 UI 线程。显式 Close 原生资源。
Rust
Rust SDK 3.1.0 使用 MSVC toolchain。kui-sys 包含冻结的 195 个 ABI 声明,kui 提供 RAII 和常用安全方法;低频接口可从 kui::sys 使用。UI 类型不能跨线程发送,FFI 回调不能让 panic 越过 C 边界。
按项目选择接入层
按现象缩小范围,再修改对应文件。
| 现象 | 检查与处理 |
|---|---|
| 已有 C++ 业务 | 选原生 C++ SDK;编译器、配置和 CRT 一起核对。 |
| 需要 C 边界或源码 Wrapper | 选择 C SDK;Wrapper 链接 KuiC::Cpp,原生 SDK 链接 Kui::Kui。 |
| 已有 Go / Rust 工程 | 使用对应绑定包;保留 native 运行时与该绑定配套。 |
把版本信息留在项目里
记录核心版本、绑定版本、平台架构、SDK ZIP 的校验值与构建配置。升级时替换同一交付包中的头、库和运行时,重建应用,再检查表单、字体、扩展和调试连接。不要只替换一个 DLL。
文档有误或遗漏?
反馈此页问题 →