Native (C ABI) IMLib 导入
本页说明 Native (C ABI) 端 IMLib 的依赖、制品与集成要求。正式 ABI 为 im_client_*;头文件同时保留 deprecated 的 imsdk_* 旧 MVP ABI,新代码不应使用。C ABI 未暴露全部 62 个语义 op,见「功能列表」中的「C ABI 未暴露」标记。
安装 / 依赖
C / Rust
// 1) 链接预编译库(include/im_sdk.h + libim_sdk)
cc app.c -Iinclude -Llib -lim_sdk -o app
// 2) 或在 Rust 工程中直接依赖 crate
cargo add im-sdk im-kit环境要求
| 项 | 要求 |
|---|---|
| ABI | C99(C++ 需 extern "C");头文件 include/im_sdk.h、include/im_kit.h |
| 线程模型 | 句柄非线程安全;同一句柄同一时刻只允许一个线程访问 |
| 事件回调 | im_client_set_event_callback 在库后台线程投递,回调内勿长时间阻塞 |
| 内存所有权 | char** 输出必须 im_string_free;句柄用 im_client_free 释放 |
| 平台 | Windows / Linux / macOS(Rust 目标平台) |
包内容
| 制品 | 路径 / 名称 | 说明 |
|---|---|---|
| IMLib 包 / 模块 | im-sdk (crate) + libim_sdk | 核心通信库(连接、消息、会话、群组、好友、聊天室、上传) |
| IMLib 源码 / 制品 | im-sdk | 随发行包提供的源码 / 制品(内联调可源码集成) |
| IMKit 制品 | im-kit + include/im_kit.h | 可选 UI 组件层,只依赖 IMLib 公开接口 |
版本与兼容
- 契约版本:IDL v1.0.0(frozen,冻结修订 35)。
- v1.x 采用 additive-only:仅新增可选字段、枚举值、接口与错误码,不破坏既有语义。
- 升级时先对照「更新日志」确认新增面,再回归连接、消息、会话与群组主链路。
- 当前平台绑定状态:
ga。