在线OJ

前期准备

1.目标
做出一个在线oj系统,支持查看题目列表,支持点击单个题目,支持代码块书写代码,支持提交书写的代码到后端,支持后端编译和运行,支持返回结果
2.环境搭建
2.1 cpp-httplib,开源库
使用方法:代码当中直接包含httplib.h
2.2升级gcc(如果是4.8版本需要升级)
2.3安装jsoncpp
切换到root之后执行
yum install jsoncpp
yum install jsoncpp-devel
2.4安装boost、环境

3.测试httplib-demo
创建oj-project
在其下面创建三个目录,分别为
bin 放可执行程序的文件+配置文件的
code 源码目录
test 测试目录
3.3 httplib可以帮助我们创建一个http服务,不需要我们关心tcp和http的解析过程。解析完毕http请求之后,会按照请求的方法,找到程序当中对应的接口,进行处理。
如果找到请求对应的处理方法,则回调接口
如果没有找打对应的处理方法,则不处理

依赖“class Server”类来创建http服务
pattern资源路径

server类的回调函数
函数名字,就是当前注册回调函数的方法,函数名字是get,表示我们可以处理get方法的请求;函数名字是post,表示我们可以处理post方法的请求
取决于:pattern,如果请求当中的url的资源路径和代码当中预定义的资源路径不相符,则不会回调handler
也需要指定侦听的ip和端口,调用的是listen函数

猜你喜欢

转载自blog.csdn.net/weixin_43807876/article/details/112747523