【在线OJ模拟项目】01——项目环境搭建及基本测试

本文档详细介绍了在线OJ模拟项目环境的搭建过程,包括cpp-httplib库的使用、gcc的升级、jsoncpp和boost环境ctemplate的安装。此外,还讲述了在遇到问题时如何通过pip安装缺失的库,并提供了测试httplib-demo的方法,以验证环境配置是否成功。
摘要由CSDN通过智能技术生成

✔项目目的

项目实现什么功能

1.浏览器可以访问当前在线oj当中的所有题目,获取题目的列表

2.点开任意一个题目,并且能够作答

3.编译用户提交的代码,并且返回执行结果

支持查看题目列表
支持点击单个题目
支持代码块书写代码
支持提交书写的代码到后端
支持后端编译运行
支持返回结果

项目模块划分

项目采用b/s模型,及浏览器+服务端模型

  • 请求数据从浏览器中来

  • 服务端处理完毕后,响应返回给浏览器

在这里插入图片描述

所以划分为四个模块,每个模块的大致功能如下

  • http模块

接收浏览器的请求+发送响应,我使用开源库cpp-httplib的方法

  • 试题模块

管理所有的oj试题,本质上有两种策略来进行管理
1.一种策略是将试题写到文件当中,服务器从文件当中读回来;
2.另一种策略是将试题保存在数据库当中,服务端每次去数据库当中查询

  • 编译运行模块

处理浏览器提交的代码,编译+运行

  • 工具模块

提供时间戳, 提供日志, 提供字符串等方法


了解项目的大致功能后,我们开始搭建环境

✔环境搭建

1.cpp-httplib开源库

我们需要先找一个开源的httplib库,可以在代码当中直接包含httplib.h,可以参照下面这个链接
httplib开源库

2.升级gcc

1.查看gcc的版本

先查看自己的gcc是什么版本

gcc -v

在这里插入图片描述
我的gcc版本低,需要更新
在这里插入图片描述

2.更新步骤

2.1.首先切换到root用户

在这里插入图片描述

2.2.其次执行下面这两个命令

yum -y install centos-release-scl
yum -y install devtoolset-7-gcc devtoolset-7-gcc-c++ devtoolset-7-binutils

2.3.打开当前用户的家目录下的bash_profile

vim ~/.bash_profile

2.4.打开以后在最后添加下面的一行命令,然后保存退出

scl enable devtoolset-7 bash
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风铃奈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值