项目简介
本项目是一个在线判题系统模块,利用C语言作为主要开发语言,结合Redis数据库,实现对用户提交的源代码进行编译、运行,并评估其正确性、性能及资源消耗。项目涵盖编译管理、任务执行、资源监控、日志记录等多个模块。
项目的主要特性和功能
- 编译管理:支持解析多种编程语言源代码并生成JSON数据,能编译C/C++源代码,同时可限制程序使用的资源。
- 任务执行与资源管理:通过创建子进程执行编译和运行任务,可限制程序的CPU时间和内存使用,超时时结束进程。
- 进程监控与日志记录:监控子进程执行状态,记录运行时间、内存消耗、输出信息等详细日志。
- 结果反馈:测试程序运行结束后,将返回值、内存消耗、时间消耗等结果返回给Redis数据库,可通过日志进行后续分析。
- 配置文件管理:加载配置文件获取Redis服务器信息、编译运行工作目录等,便于系统配置和扩展。
- 守护进程与多线程处理:创建守护进程在后台运行,采用多线程处理任务队列,提升系统并发处理能力。
安装使用步骤
- 环境准备:确保系统已安装C语言编译器(如GCC)、Redis数据库和Mysql数据库。
- 下载源码:从项目仓库下载源码文件。
- 配置文件:编辑配置文件,设置Redis服务器信息、编译运行的工作目录等。
- 编译项目:使用C语言编译器编译项目源码。
- 启动系统:运行编译后的可执行文件,启动在线判题系统模块。
- 提交测试:通过系统接口提交源代码进行测试,查看编译、运行结果及日志信息。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】