用来实现OJ判题的windows批处理

本文介绍如何利用JAVA WEB大作业中的Windows批处理来实现在线评测(OJ)系统。首先创建包含源代码、标准输出、输入、结果代码和运行时间的文件,然后编写command.bat批处理程序进行编译和运行。最后,通过Java调用批处理程序,读取结果和运行时间,完成判题过程。

JAVA WEB的大作业想做一个简单的OJ,首先要实现的是拿到一份源代码后怎么去编译,获取编译错误信息,然后在时间限制内运行得到答案,最后比较答案和标准输出是否一致.我用的是windows的批处理程序,到时候用java调用这个程序得到结果.

第一步:

在d盘下建一个叫onlinejudge的文件夹,然后在这个文件夹下建5个文档,分别是a.cpp,answer.txt,in.txt,result.txt,time.txt,分别用来储存源程序,标准输出,输入,程序结果代码(0->AC,1->WA,2->TLE,3->RE,4->CE,TLE和PE还不知道怎么搞),程序运行时间,再建一个文件夹叫result.

第二步:

写一个command.bat的批处理程序,内容是

xcopy /y d:\onlinejudge\a.cpp d:\onlinejudge\result
xcopy /y d:\onlinejudge\in.txt d:\onlinejudge\result
xcopy /y d:\onlinejudge\answer.txt d:\onlinejudge\result
cd /d d:\onlinejudge\result
g++ a.cpp
if not exist a.exe (
	g++ a.cpp>error.txt 2>&1
	echo 4 >result.txt
	xcopy /y d:\onlinejudge\result\result.txt d:\onlinejudge
	del /f /s /q d:\onlinejudge\result
	exit
)
set /a start_time=(1%time:~9,2%-100)*10+(1%time:~6,2%-100)*1000
start d:/
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值