Repository navigation
Home
dxx114514-stack edited this page Oct 1, 2026
·
3 revisions
轻量级命令行本地评测系统。单个 C++17 可执行文件完成出题、造数据、评测、办比赛全流程,JSON 数据存储,Windows / Linux 双平台。
- 双平台沙箱 — Windows:Job Object + 受限令牌 + Low IL;Linux:namespaces + seccomp + 只读根文件系统 + RLIMIT(含加固环境自动降级,见 沙箱与安全)
-
单二进制、零服务 — 无需数据库或守护进程,数据就是
data/下的 JSON - LemonLime / NoldOJ 兼容 — CDF 比赛导入导出、testlib/lemon SPJ、题目包 zip/json 互通
-
多题型 —
traditional/answers_only/interaction/communication/communication_exec,子任务计分与依赖 -
多语言 — 内置 C/C++/Python/Java/JavaScript,
custom_languages可注册任意语言(见 自定义评测语言) -
测试点生成器 — 题目附带生成器,每次评测前按测试点编号生成
data.in/data.out - 比赛与报告 — 排行榜、HTML 比赛报告、CDF 双向交换
-
界面语言 —
.cjl语言包,displaylang联网切换(见 显示语言)
# Windows 下为 clijudge.exe,Linux 下为 clijudge
clijudge problem create "A + B Problem" -describe statement.md -exampleio in.txt out.txt
clijudge problem testdata 1 create in.txt out.txt 1000 256 50
clijudge problem submit 1 ac.cpp --as alice # → Status: AC(退出码 0)
clijudge ide run main.cpp in.txt # 即写即跑完整流程见 快速开始。
| 页面 | 内容 |
|---|---|
| 快速开始 | 编译、建题、评测、IDE 第一次体验 |
| 命令参考 · 题目 |
problem 模块全部命令与选项 |
| 命令参考 · 比赛 |
contest 模块与 CDF 导入导出 |
| 命令参考 · 其它 |
help / submit / article / ide / displaylang、退出码、状态表 |
| 评测机制 | 语言识别、比较模式、子任务、评测配置 |
| 自定义评测语言 |
custom_languages 注册任意扩展名 |
| 沙箱与安全 | 双平台隔离层、信任边界、并发安全 |
| 数据存储 | 目录结构、config.json、迁移与锁 |
| 显示语言 |
.cjl 语言包管理 |
| 构建与测试 | CMake/g++、冒烟测试、CI 与发布 |
| FAQ | 常见问题与故障排除 |