littlebot
Published on 2025-04-08 / 1 Visits
0

【源码】基于C语言及Redis的在线判题系统(OJ在线判题模块)

项目简介

本项目是一个在线判题系统模块,利用C语言作为主要开发语言,结合Redis数据库,实现对用户提交的源代码进行编译、运行,并评估其正确性、性能及资源消耗。项目涵盖编译管理、任务执行、资源监控、日志记录等多个模块。

项目的主要特性和功能

  1. 编译管理:支持解析多种编程语言源代码并生成JSON数据,能编译C/C++源代码,同时可限制程序使用的资源。
  2. 任务执行与资源管理:通过创建子进程执行编译和运行任务,可限制程序的CPU时间和内存使用,超时时结束进程。
  3. 进程监控与日志记录:监控子进程执行状态,记录运行时间、内存消耗、输出信息等详细日志。
  4. 结果反馈:测试程序运行结束后,将返回值、内存消耗、时间消耗等结果返回给Redis数据库,可通过日志进行后续分析。
  5. 配置文件管理:加载配置文件获取Redis服务器信息、编译运行工作目录等,便于系统配置和扩展。
  6. 守护进程与多线程处理:创建守护进程在后台运行,采用多线程处理任务队列,提升系统并发处理能力。

安装使用步骤

  1. 环境准备:确保系统已安装C语言编译器(如GCC)、Redis数据库和Mysql数据库。
  2. 下载源码:从项目仓库下载源码文件。
  3. 配置文件:编辑配置文件,设置Redis服务器信息、编译运行的工作目录等。
  4. 编译项目:使用C语言编译器编译项目源码。
  5. 启动系统:运行编译后的可执行文件,启动在线判题系统模块。
  6. 提交测试:通过系统接口提交源代码进行测试,查看编译、运行结果及日志信息。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】