包与接口
C SDK 的接口声明位于 kui_c.h。Windows x64 Full Profile 冻结 195 个导出,产品运行库与 ABI 头文件必须来自匹配的交付包。C SDK 版本和核心版本分别核对,不能手动替换单个 DLL 后假定兼容。
从标准示例开始
包内包含纯 C 专项示例和 canonical 场景,先运行预编译程序,再按同一目录的构建说明重建。源码 C++ Wrapper 使用同一 C ABI,但不是原生 C++ SDK 的替代头文件。
所有权和回调
创建、保留和释放 handle 应成对管理。不要将已释放的文档或元素继续传入接口。回调期间对象可能受事件分派生命周期约束;异步工作返回 UI 线程后再访问窗口或 DOM。
重建一个 C 窗口
在 C SDK 根目录运行。KuiC_DIR 指向 C SDK 的 cmake 目录;目标名称来自包内 examples/CMakeLists.txt。末尾的 0 禁用示例的自动退出计时。
cmake -S examples -B build -A x64 -DKuiC_DIR=C:/SDK/kui-c/cmake
cmake --build build --config Release --target kui_c_example_window_demo --parallel 4
.\build\Release\kui_c_example_window_demo.exe 0从包内窗口示例开始
hello_world.c 是无窗口 ABI 示例;想看到界面请运行 window_demo。window_demo 默认会定时退出,传入 0 可保持打开,便于操作。
- 保留 SDK 的 include、lib、bin 和 examples 结构。
- 阅读 examples/window_demo.c 与 example_common.h;由包内 CMake 导入 KuiC::C。
- 运行 window_demo,再改标题或文本;确认返回状态而不是忽略错误。
- 退出后按所有权规则释放 handle,回调中不要保存已经失效的元素。
区分字符串与句柄
读取变长字符串时按头文件的长度查询和缓冲区约定操作;分配和释放使用同一侧的分配器。不要把 C++ 对象地址强制转换为 KuiElement*。窗口、文档与元素的返回值以对应函数的 owned/borrowed 约定为准。
文档有误或遗漏?
反馈此页问题 →