新闻详情

新闻详情

首页 / 资讯中心 / 详情

zip4cj构建与测试指南:cjpm编译、stdx配置与HLT/LLT/UT三层测试体系

发布时间:2026/9/25 2:10:21来源:尧图网络
zip4cj构建与测试指南:cjpm编译、stdx配置与HLT/LLT/UT三层测试体系
zip4cj构建与测试指南cjpm编译、stdx配置与HLT/LLT/UT三层测试体系【免费下载链接】zip4cj一个用于创建和解压ZIP压缩格式的库项目地址: https://gitcode.com/Cangjie-TPC/zip4cjzip4cj 是基于仓颉语言实现的 ZIP 压缩解压缩库本文带你用 cjpm 一键完成 zip4cj 编译、配置 stdx 依赖路径并详解 HLT/LLT/UT 三层测试体系如何保障这个压缩库的可靠性——新手也能快速上手。准备工作克隆仓库与搭建编译环境在开始编译 zip4cj 之前先准备好开发环境安装仓颉工具链要求 cjc 1.1.3 及以上版本与 cjpm.toml 中cjc-version 1.1.3保持一致克隆 zip4cj 源码仓库git clone https://gitcode.com/Cangjie-TPC/zip4cj了解项目目录结构这决定了后续编译与测试的操作路径├── doc // 设计文档、API文档、LLT覆盖率报告 ├── src // 库源码crypto加解密、io流、model模型、tasks任务等 │ └── zip_file.cj // 主程序入口类 └── test // 测试用例HLT、LLT、UT 三层src/zip_file.cj 是核心入口类对外提供压缩、解压、加密等 APIsrc/tasks/ 存放压缩、解压、重命名、分包合并等任务实现doc/cjcov/ 是 LLT 测试生成的代码覆盖率报告架构一览模块化设计让编译与维护更简单zip4cj 按职责拆分为多个功能包crypto负责 AES/标准 ZIP 加解密io处理压缩输入输出流model定义 ZIP 文件头与参数模型progress提供进度监控。这种清晰的分包设计让 cjpm 编译时每个模块职责明确也便于测试体系分层覆盖。cjpm 编译stdx 依赖配置是关键zip4cj 提供两种编译方式推荐日常使用cjpm 编译方式一cjpm 编译推荐zip4cj 是三方库依赖仓颉标准扩展库stdx。cjpm 编译前必须完成 stdx 路径配置第 1 步配置 CANGJIE_STDX_PATH 环境变量获取 stdx 后将其根目录路径导出为CANGJIE_STDX_PATH。打开 cjpm.toml 可以看到各平台都通过该变量定位 stdx 动态库编译目标平台stdx 依赖路径x86_64 Linux${CANGJIE_STDX_PATH}/linux_x86_64_llvm/dynamic/stdxaarch64 / x86_64 OHOS${CANGJIE_STDX_PATH}/linux_ohos_*_llvm/dynamic/stdxWindows (gnu/mingw32)${CANGJIE_STDX_PATH}/windows_x86_64_llvm/dynamic/stdxmacOS ARM${CANGJIE_STDX_PATH}/darwin_aarch64_cjnative/dynamic/stdx第 2 步执行 cjpm buildcjpm build另外cjpm.toml 声明了对 zlib4cj 库的 git 依赖v1.2.0 分支cjpm 会自动拉取无需手动处理。第 3 步查看编译产物zip4cj 的output-type配置为dynamic编译产物为动态库可被其他仓颉程序直接引用。方式二CI 脚本编译适合持续集成如果你需要与官方 CI 流程保持一致可以下载 TPC-Test-Framework 编译脚本后执行ciTest build完成构建该脚本会自动处理 stdx 与依赖配置。编译配置详解debug 与 release 优化档位cjpm.toml 的[profile]段为不同场景预设了编译参数理解它们能让构建更可控配置项参数说明debug-g -Woff all保留调试符号关闭全部警告release--fast-math -O2 -Woff all开启 O2 优化与快速数学运算buildincremental true启用增量编译重复构建更快日常开发用 debug 档方便断点调试发布或性能测试时切换到 release 档O2 优化对压缩算法的吞吐提升明显。HLT/LLT/UT 三层测试体系压缩库质量的三重保障zip4cj 在 test/ 目录下按仓颉三方库规范组织了三层测试各层分工明确HLT高层功能测试——验证完整业务场景HLTHigh-Level Test面向端到端功能覆盖 doc/feature_api.md 中定义的全部对外 API 场景文件夹级别压缩 / 解压含 Zip64 大文件ZIP 内文件重命名、删除、添加分包压缩、分包合并、AES 与 ZIP 标准加密解密子线程压缩与进度监控一句话概括HLT 回答用户用起来对不对。LLT低层测试——代码覆盖率 92% 的底气LLTLow-Level Test贴近源码逻辑逐路径验证并产出代码覆盖率报告。仓库中的 LLT 覆盖率报告位于 doc/cjcov/index.html整体覆盖率高达92%核心文件如 src/ZipFile 相关模块 的覆盖情况可在报告中逐文件查看。一句话概括LLT 回答每行代码跑得对不对。UT单元测试——最小粒度的快速回归UTUnit Test针对工具类与基础方法做最小粒度验证例如 src/util/crc_util.cj 的 CRC32 校验计算、src/util/bit_utils.cj 的位操作等。UT 用例小而快适合在每次代码改动后先行执行。三层测试的分工可以这样记UT 守函数LLT 守模块HLT 守功能。版本演进从 0.0.1 到 1.0.7 的里程碑从 CHANGELOG.md 可以看到清晰的演进路线0.0.1 奠定文件夹压缩与 Zip64 支持1.0.0 引入 AES 加密、子线程与进度监控1.0.7 升级 cjc 至 1.1.3 并修复文件句柄泄漏问题。每个版本的构建与测试均通过 CI 校验build: pass。编译常见问题快速排查 问题现象排查方向cjpm build 报 stdx 库找不到检查CANGJIE_STDX_PATH是否已导出且路径下存在对应平台目录zlib4cj 依赖拉取失败检查网络zlib4cj 通过 git 依赖自动拉取v1.2.0 分支编译报版本错误确认 cjc 版本 ≥ 1.1.3与 cjpm.toml 声明一致OHOS 平台链接失败检查DEVECO_CANGJIE_HOME、DEVECO_OH_NATIVE_HOME环境变量测试覆盖率下降运行 LLT 重新生成 doc/cjcov/ 报告并对比小结环节关键命令 / 配置环境准备安装 cjc ≥ 1.1.3克隆仓库stdx 配置导出CANGJIE_STDX_PATH指向 stdx 根目录编译cjpm build或 CI 脚本ciTest build测试test/目录下 HLT、LLT、UT 三层用例覆盖率查看 doc/cjcov/index.html掌握 cjpm 编译与 stdx 路径配置后你可以顺利构建 zip4cj配合 HLT/LLT/UT 三层测试体系压缩功能的质量与回归效率都有了完整保障。【免费下载链接】zip4cj一个用于创建和解压ZIP压缩格式的库项目地址: https://gitcode.com/Cangjie-TPC/zip4cj创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

C#实现欧姆龙PLC FINS通信:绕过地址偏移、字节序与帧头校验 2026/9/25 2:52:37

C#实现欧姆龙PLC FINS通信:绕过地址偏移、字节序与帧头校验

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
HHO-LSBoost多输入回归预测:哈里斯鹰优化与Matlab实现 2026/9/25 2:52:37

HHO-LSBoost多输入回归预测:哈里斯鹰优化与Matlab实现

做预测建模这些年,我最深刻的体会就是:调参的功夫往往比跑模型本身还多。尤其是用集成学习做回归预测时,弱学习器的数量、学习率、树深这些超参数,直接决定了模型的上限,可手动一个个试又费时又费力。所以当我尝试把哈…

阅读更多 →
四向链表从创建到遍历:指针维护与DFS/BFS实战 2026/9/25 2:52:37

四向链表从创建到遍历:指针维护与DFS/BFS实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Spring Boot+Vue3接入DeepSeek:Spring AI全栈实战 2026/9/25 2:52:30

Spring Boot+Vue3接入DeepSeek:Spring AI全栈实战

简介:面向后端开发者与AI应用初学者的 Spring Boot Spring AI DeepSeek 集成实战代码包,展示如何通过 Spring Boot 与 Spring AI 框架接入 DeepSeek 大模型,构建智能问答、文本生成和语义分析等功能。项目采用前后端分离与模块化设计&#…

阅读更多 →
OptiScaler 使用教程:DLSS、FSR、XeSS 自由切换,老游戏还能补帧 2026/9/25 2:52:30

OptiScaler 使用教程:DLSS、FSR、XeSS 自由切换,老游戏还能补帧

OptiScaler 使用教程:DLSS、FSR、XeSS 自由切换,老游戏还能补帧 【免费下载链接】OptiScaler OptiScaler bridges upscaling/frame gen across GPUs. Supports DLSS2/XeSS/FSR2 inputs, replaces native upscalers, enables FSR-FG/XeFG on non-FG title…

阅读更多 →
Kata Containers 虚拟化参考架构:在 VM 中启用 GPUDirect P2P 与 GPUDirect RDMA 2026/9/25 2:52:30

Kata Containers 虚拟化参考架构:在 VM 中启用 GPUDirect P2P 与 GPUDirect RDMA

云原生容器运行时 【免费下载链接】kata-containers Kata Containers is an open source project and community working to build a standard implementation of lightweight Virtual Machines (VMs) that feel and perform like containers, but provide the workload isolat…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉