|
NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
|
本项目旨在建立**功能健全、风格统一、可读性强、社区共建、跨平台兼容**的现代 C++ 开发库。通过清晰的架构设计、规范的代码实现、丰富的设计模式应用,为项目开发提供实用的工具集,同时也为 C++ 学习者提供理解底层原理的实践载体,建立从学习到生产的连接点。
💡 有劳各位多多 提交 Issue,使本项目趋于健全。如有不足,还望斧正。
| 项目 | 详情 |
|---|---|
| 平台 | 🪟 WINDOWS / 🐧 LINUX |
| 指令集 | X86 |
| 位宽 | 64位 |
| 编译器 | MSVC (Windows) / LLVM-Clang (Windows, Linux) / ClangCL (Windows) / GCC (Linux) |
| C++ 标准 | 14 / 17 / 20 |
ℹ️ 兼容性说明
本库欢迎开发者进行更多编译器与操作系统的兼容性开发,欢迎您进行贡献。
NexusForce 严格遵循现代 C++ 工程最佳实践,通过多层次自动化检查确保代码健壮性与可读性。
| 指标 | 状态 | 说明 |
|---|---|---|
| 📊 代码规模 | 12万+ 行 | 核心库源码与头文件 |
| 🔒 CodeQL 安全分析 | 0 漏洞 | security-and-quality 全规则集,零安全告警 |
| 🔍 Clang-Tidy 静态检查 | 零警告 | 全量规则集(bugprone / cppcoreguidelines / hicpp / modernize / performance / readability),警告即错误 |
| 🎨 Clang-Format 代码风格 | 强制统一 | 120 列、4 空格、K&R 变体大括号、强制大括号插入等 |
| 💧 动态内存检查 | 0 泄漏 | Valgrind 全量测试,无内存泄漏与越界访问 |
📋 **关于规则豁免**:.clang-tidy 包含约 60 项显式豁免,.clang-format 包含多项风格定制。每一项均针对底层系统编程的固有需求,遵循"默认严格,按需放开"原则。
NexusForce 的核心组件实现严格遵循相关国际标准与行业规范,确保行为可预测、互操作性强且安全可靠。以下为关键组件的标准映射:
| 组件 | 遵循标准 | 说明 |
|---|---|---|
| HTTP 与 WebSocket | RFC 9110 / RFC 9112 (HTTP/1.1), RFC 6265 (Cookie), RFC 6455 (WebSocket), W3C Fetch CORS | HTTP 语义与路由、Cookie 管理、CORS 跨域策略、WebSocket 升级与帧协议 |
| DNS 客户端 | RFC 1034, RFC 1035, RFC 2181, RFC 6891, RFC 3596, RFC 2782 | DNS 协议客户端,A/AAAA/MX/SRV/PTR 记录查询、UDP/TCP 传输自动切换与 TTL 缓存管理 |
| ICMP 协议 | RFC 792 (STD 5), RFC 1122, RFC 4884, IANA ICMP 参数注册表 | Ping (Echo Request/Reply) 与 Traceroute (Time Exceeded) 网络诊断,含 RFC 1071 校验和算法 |
| SMTP 协议 | RFC 5321 (STD 10), RFC 5322, RFC 3207 (STARTTLS), RFC 8314 (隐式 TLS), RFC 4954 (AUTH), RFC 2045–2047 (MIME) | 邮件传输与消息格式,支持 PLAIN/LOGIN 认证、STARTTLS/隐式 TLS 加密及 MIME 多部分消息 |
| MAC 地址 | IEEE 802-2014, IEEE 802.3-2022, RFC 7042 | 48 位 EUI-48 地址解析与格式化,支持单播/多播/本地管理地址识别与标准十六进制表示 |
| URL 解析与编码 | RFC 3986, RFC 3987, WHATWG URL | URI 通用语法、百分号编码及国际化资源标识符 |
| 网络端口定义 | IANA 端口号注册表, RFC 6335 | 知名端口分配 |
| UUID 生成 | RFC 4122, RFC 9562 | UUID v4(随机)与 v7(时间有序)生成规范 |
| 字节大小单位 | IEC 80000-13:2008, IEEE 1541-2021, BIPM SI Brochure (9th Ed.) | 二进制前缀 (KiB/MiB/GiB) 与十进制前缀 (kB/MB/GB) |
| 组件 | 遵循标准 | 说明 |
|---|---|---|
| JSON RFC 8259 | RFC 8259, ECMA-404:2017 | JSON 六种值类型、UTF-8 编码、IEEE 754-2019 双精度数字与字符串转义序列 |
| TOML 1.0.0 | TOML v1.0.0 | 包含日期时间格式遵循 RFC 3339 / ISO 8601 |
| YAML 1.2 | YAML 1.2.2, RFC 8259, RFC 3339, IEEE 754-2019 | YAML 1.2 是 JSON 严格超集,支持八种核心值类型、五种字符串标量样式、锚点别名与标签系统 |
| 组件 | 遵循标准 | 说明 |
|---|---|---|
| AES-256 加密 | NIST FIPS 197, ISO/IEC 18033-3 | 高级加密标准,支持 ECB/CBC/GCM 模式(NIST SP 800-38A / SP 800-38D) |
| SHA-256 哈希 | NIST FIPS 180-4, RFC 6234 | 安全哈希算法(SHA-2 家族),256 位输出 |
| SHA-1 哈希 | NIST FIPS 180-4 (历史兼容) | ⚠️ 已标注安全警告(SHAttered 碰撞攻击) |
| MD5 哈希 | RFC 1321 (历史兼容) | ⚠️ 已标注安全警告,仅用于非安全校验场景 |
| Base64 编码 | RFC 4648 §4, RFC 4648 §5 | 标准与 URL 安全 Base64 编解码,严格填充规则与非法字符检测 |
| 组件 | 遵循标准 | 说明 |
|---|---|---|
| UTF-8 / UTF-16 / UTF-32 | Unicode 15.1.0, ISO/IEC 10646, RFC 3629 / RFC 2781 | Unicode 码点操作、规范化与编码转换,含无效序列检测 |
| Unicode 码点处理 | Unicode 15.1.0 §2.4, §2.13 | 代理对处理、BOM 检测与替换字符 (U+FFFD) 规则 |
| 组件 | 遵循标准 / 学术文献 | 说明 |
|---|---|---|
| 堆算法 | ISO/IEC 14882:2020 §25.8.6 | 复杂度保证与 Floyd 堆调整优化 (Algorithm 245) |
| 红黑树 | Guibas & Sedgewick (1978) | 自平衡二叉搜索树经典实现,O(log n) 复杂度保证 |
| 莱昂纳多堆 / 平滑排序 | Dijkstra (1981) EWD796a | 自适应排序算法,最优时间复杂度 O(n) |
| 内省排序 | Musser (1997) | 混合快速/堆/插入排序,C++ 标准库 sort 默认算法 |
| 非加密哈希 | FNV-1a 草案, MurmurHash3 | 高性能哈希表与布隆过滤器专用 |
| 布隆过滤器 | Bloom (1970), Broder & Mitzenmacher (2004), Kirsch & Mitzenmacher (2006) | 双哈希优化的概率性集合成员查询结构,O(k) 插入/查询,支持最优参数 (m, k) 推导与误报率估算 |
| 组件 | 遵循标准 | 说明 |
|---|---|---|
| 原子内存序 | ISO/IEC 14882:2020 §31.4 | C++ 内存模型,含硬件屏障等价与 Intel TSX HLE 支持 |
| 命令行解析 | POSIX.1-2017 (IEEE 1003.1) 第12章, GNU getopt_long | 支持短选项组合、长选项、-- 分隔符与可选值 |
| 日期与时间 | ISO 8601-1:2019, RFC 3339, POSIX 时间戳 | 公历计算、儒略日转换与 Unix 纪元处理 |
| SQL 语句构建器 | ISO/IEC 9075 (SQL-92 及后续版本) | 生成符合 ANSI SQL 的 SELECT/INSERT/UPDATE/DELETE 语句 |
| 组件 | 遵循标准 | 说明 |
|---|---|---|
| RGB 颜色模型 | W3C CSS Color Level 4, Compositing Level 1 | 直通 Alpha 合成、十六进制格式与 ANSI 256 色调色板 |
| 灰度转换 | ITU-R BT.709 / IEC 61966-2-1 (sRGB) | 人眼感知加权(0.299R + 0.587G + 0.114B) |
| 数学函数与常量 | IEEE 754-2019, ISO/IEC 10967 (LIA) | 三角函数归约、牛顿迭代法与机器精度容差 |
| 随机数生成 | ISO/IEC 18031:2011, NIST SP 800-90A | 梅森旋转 (MT19937) 与操作系统熵源真随机数 |
📖 **文档完整性**:所有涉及上述标准的类与函数,均在其 API 注释(Doxygen 格式)中标注了具体的标准章节号与官方链接,开发者可随时溯源验证。
本项目基于 [MIT 开源协议](LICENSE) 发布。