OJ实现初步尝试
2014-10-29 14:52
260 查看
平台:Windows 8,MyEclipse 2014,Java 7
编译器:MinGW下,g++
【预备 - 安装编译器】
首先,下载MinGW-get,安装编译器;
安装完编译器之后,设置安装后的bin目录到环境变量的path中;
在cmd中如果能直接输入g++执行则表明成功。
【编写处理提交代码的Servlet】
关键点在于:
先用request.getParameter获得用户提交的源代码;
将源代码写入一个cpp文件中;
采用ProcessBuilder类构建一个g++执行,参数形式为 g++ cpp -o exe;
用Process对象来获取g++的错误输出流,如果遇到编译错误,将编译错误信息输出网页并返回;
构建输出文件input和输出文件output,用redirectInput指定输入数据,用redirectOutput指定输出结果;
再用一个Process对象来控制刚编译好的exe的执行,获取执行时间等;
对比输出文件是否满足标准答案。
编译器:MinGW下,g++
【预备 - 安装编译器】
首先,下载MinGW-get,安装编译器;
安装完编译器之后,设置安装后的bin目录到环境变量的path中;
在cmd中如果能直接输入g++执行则表明成功。
【编写处理提交代码的Servlet】
关键点在于:
先用request.getParameter获得用户提交的源代码;
将源代码写入一个cpp文件中;
采用ProcessBuilder类构建一个g++执行,参数形式为 g++ cpp -o exe;
用Process对象来获取g++的错误输出流,如果遇到编译错误,将编译错误信息输出网页并返回;
构建输出文件input和输出文件output,用redirectInput指定输入数据,用redirectOutput指定输出结果;
再用一个Process对象来控制刚编译好的exe的执行,获取执行时间等;
对比输出文件是否满足标准答案。
相关文章推荐
- 在Java中实现DeepZoom的初步尝试
- 在Java中实现DeepZoom的初步尝试
- 初步实现系统级拦截应用程序取硬盘物理序列号
- C++面向对象特性实现机制的初步分析 Part2
- 面向GPU基于Vertex Texture Fetch的细分曲面构想和初步实现 上
- 博客上的日历控件的初步实现
- 一步一步SharePoint 2007之三十四:实现通用Event Handler(2)——尝试Event Handler
- 在C++实现C#中的属性(Property)功能的尝试: MACRO篇(1)
- 今天初步实现把插件显示在PB的工具栏
- 初步实现一个简单的Hash表
- 初步实现定时器
- C++面向对象特性实现机制的初步分析 Part3
- 用struts框架尝试国际化程序实现
- [DNN扩展]将Lion.Web.WebHtmlEditor作为DNN的富文本编辑器(初步实现)
- SPRING+HIBERNATE3+JBPM+OC4J(初步实现整合)
- SPRING+HIBERNATE3+JBPM+OC4J(初步实现整合)
- C++面向对象特性实现机制的初步分析 Part1
- [新功能]初步实现通过二级域名访问自己的Blog
- 给gif动画添加水印的初步实现
- 一步一步SharePoint 2007之三十二:实现文档Event Handler(4)——尝试Event Handler