Skip to content

Eriri9876/Light-Judge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Light-Judge: 极轻量级本地 C++ 自动化评测机

Windows C++ Python

专为保研机试、CCF-CSP、PAT 等全 I/O 算法考试打造的本地自动化测试工具。 告别繁琐的手动复制粘贴测试用例,毫秒级检测运行时间与内存,一键出战报,助你冲击高分!

✨ 核心痛点与特性

在准备 CCF-CSP 或各大高校机试时,全标准输入输出(Full I/O)的大模拟题常常让人头疼。频繁手动复制测试用例极度消耗时间。Light-Judge 为此而生:

  • ⚡ 毫秒级性能监控:精准捕捉算法物理运行耗时,杜绝时间复杂度爆炸。
  • 🛡️ 双重防御机制 (TLE & MLE):底层基于 Win32 API 实时监控进程状态。一旦发生死循环或空间超限,毫秒级拔剑强杀,保护宿主机不卡死。
  • 🔍 智能 Diff 容错引擎:自动忽略行末空格与文件末尾换行符,完美复刻真实 OJ (Online Judge) 的宽容判题逻辑。
  • 🎨 异步 GUI 界面:采用 Python 异步多线程调用 C++ 后端引擎,代码与测试数据目录完美解耦,界面丝滑不卡顿。
  • 📦 零配置开箱即用:无需配置庞大的数据库或 Web 后端,纯本地化极速运行。

🛠️ 快速上手 (小白友好)

  1. 准备数据:在你代码所在的文件夹(或任意专门的测试文件夹)下,按规律放置测试点:1.in, 1.ans, 2.in, 2.ans...
  2. 启动程序:运行 gui.py 或直接双击下载的 Release 压缩包中的启动器。
  3. 一键评测
    • 点击 【📂 浏览】 选中你的 .cpp 源代码文件。
    • 数据目录会自动联动。如测试数据在别处,也可手动浏览更改。
    • 设定 时间限制 (ms)内存限制 (MB)
    • 点击 【⚡ 启动评测】,即刻欣赏彩色战报!

💻 架构与技术栈 (硬核实现)

本项目采用经典的前后端解耦架构

  • Backend (纯 C++):调用底层操作系统 API (CreateProcess, K32GetProcessMemoryInfo) 实现静默 I/O 重定向、进程控制与资源探针。
  • Frontend (Python Tkinter):轻量级图形界面,通过 subprocess 实现跨语言异步调用与标准输出实时截获流式展示。

About

极轻量级本地 C++ 算法自动化评测机

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors