项目简介
本项目是一个基于Go语言的在线编程评判系统,适用于在线编程竞赛、代码测试或自动评判场景。它支持C++、Java等多种编程语言,具备编译、运行测试用例、评判程序正确性等功能。系统核心逻辑用Go语言实现,借助Gin框架构建Web服务器,有完善的API路由和中间件支持。项目涵盖API路由定义、核心评判逻辑、资源管理和分配等关键部分,其中judge-core是核心组件,负责实际代码运行和结果收集。此外,还集成了cJSON库处理JSON数据的解析和生成。
项目的主要特性和功能
- 支持C++、Java等多种编程语言,满足不同评判需求。
- 可编译用户提交的代码片段,并在限制资源条件下运行测试用例。
- 能根据程序输出与预期结果比较,判断程序正确性。
- 有完善的API支持,通过API接口接收评判请求并返回结果,便于集成到在线编程平台或竞赛系统。
- 可监控程序运行时间、内存使用等资源消耗情况,保障公平性和安全性。
- 利用cJSON库高效解析和生成JSON数据,方便数据交换和格式化输出。
安装使用步骤
- 假设用户已下载本项目的源码文件。
- 安装依赖库:根据系统要求安装Gin框架和cJSON库。
- 配置系统参数:包括语言支持、资源限制等。
- 启动主程序:执行
sh build.sh
完成编译,然后执行judgement
启动判题程序,监听指定的端口。 - 发送评判请求:通过API接口发送评判请求,如
POST http://localhost:9090/api/judgement/judge
,并接收返回结果。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】