项目简介
本项目是基于C++开发的在线判题系统(OJ),为用户提供在线编写、提交和测试代码的平台。用户能通过浏览器访问系统,编写代码并提交,系统会自动编译和运行代码,将结果反馈给用户。
项目的主要特性和功能
- 在线编译运行:后台自动编译并运行用户提交的代码,实时反馈结果。
- 题目管理:支持题目的加载、存储和查询,用户可查看题目列表与单个题目的详细信息。
- 模块化设计:
- oj_server模块:提供HTTP服务,连接试题模块和编译运行模块。
- 试题模块:从配置文件加载题目,提供获取题目列表和单个题目的接口。
- 编译运行模块:负责编译并运行用户提交的代码,反馈结果。
- 工具模块:提供时间戳服务、文件操作、URL解码和字符串分割等辅助功能。
安装使用步骤
- 安装依赖:确保系统已安装C++编译器(如g++)和必要的库文件(如cpp-httplib)。
- 编译项目:进入项目根目录,在命令行执行
make
命令,编译成功后生成可执行文件oj_server
。 - 启动服务器:在命令行运行
./oj_server
,服务器将在0.0.0.0:19999
端口监听请求。 - 访问系统:打开浏览器,访问
http://localhost:19999
,可查看题目列表、题目详情并提交代码测试。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】