- 纯 C 接口(myXml.h)包装 tinyxml2 C++ 实现 - 14 个 API:文档加载/创建/释放、元素遍历、属性读写 - 不透明句柄 myXmlDoc_t / myXmlElem_t - x86 编译通过,产物 libxml.a |
||
|---|---|---|
| docs | ||
| release | ||
| src/public | ||
| .gitignore | ||
| PLAN.md | ||
| SPEC.md | ||
docs/README.md
RTU_ALL_AI API 参考文档
生成日期: 2026-07-07
项目: RTU_ALL_AI — C/C++ 嵌入式通讯装置示例工程
文档索引
基础公共库 (public/)
| 模块 | 文档 | 语言 | 说明 |
|---|---|---|---|
| myBase.h | API-myBase.md | C 头文件 | 公共宏、类型常量、字节序转换 |
| liblist | API-liblist.md | 纯 C 头文件 | 侵入式双向循环链表 |
| liblog | API-liblog.md | 纯 C | 异步日志系统 |
| libfunc | API-libfunc.md | 纯 C | 65 个基础工具函数 |
| libmd5 | API-libmd5.md | 纯 C | MD5 消息摘要 (RFC 1321) |
| libtask | API-libtask.md | 纯 C | 定时器 + 事件 + 消息队列 |
| libcJSON | API-libcJSON.md | 纯 C (开源库) | JSON 解析/生成 |
| libmy_xxhash | API-libmy_xxhash.md | 纯 C (开源库) | xxHash 快速哈希 |
模块依赖关系图
┌──────────┐
│ myBase.h │ (颜色/大小端/类型常量)
└────┬─────┘
┌──────────────┼──────────────┐
▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌──────────┐
│ liblist │ │ libfunc │ │ libmd5 │
│ (链表) │ │ (65函数)│ │ (MD5) │
└────┬────┘ └────┬────┘ └──────────┘
│ │
▼ ▼
┌─────────────────────────┐
│ liblog │ (异步日志,依赖
│ (消息池+批量+文件轮转) │ liblist + libfunc)
└─────────────────────────┘
┌──────────┐ ┌──────────────┐
│ libcJSON │ │ libmy_xxhash │ (开源库,直接使用)
└──────────┘ └──────────────┘
┌────────────────────────────────┐
│ libtask │ (事件/定时器/消息队列)
│ (timerfd + epoll + pthread) │
└────────────────────────────────┘
构建与编译
cd release
./build.sh # x86 本地编译
./build.sh arm # ARM 交叉编译
编码规范
详见项目内存 /memories/code-style.md:
- 一行一语句,
{}独占行,}后空行,return前空行 - 运算符前后空格(
a + b,x << 8),逗号分号后空格 - 结构体
stru_前缀,枚举enum_前缀 - 注释使用 UTF-8 中文