标题:felixoj: judge is ready for use! 出处:Felix021 时间:Thu, 18 Jun 2009 15:18:10 +0000 作者:felix021 地址:https://www.felix021.com/blog/read.php?1658 内容: @ 20091020 一直忘了补充一下,这个oj还是有问题的。 大概从什么时候开始,想写一个自己的OJ? 应该是从snoopy的flood开始的事情吧。 看了他的毕设论文,了解了一些该了解的东西。 然后我把马陈原来就很ooxx的web那一块的代码修改得更ooxx 然后flood终于不能再用了,决定回oak 可是snoopy把服务器重装了,oak的judge和daemon都没了 幸而不知道从什么地方找出了一个很ooxx的judge 虽然编译都不能通过,但是大体框架还在 于是就把那个judge看了过去,改来改去终于可以运行了 再修正一些BUG,judge总算是可以用了 然后再用java重写了一个daemon,终于把oak架起来。 在这个过程中发现很多问题,于是萌生了自己写OJ的想法。 最近这些天看了很多Linux开发的书 学会了包括wait, ptrace, setrlimit, setitimer等系统调用 ----虽然以前都知道有这些东西,但是一直没有去写过 于是终于觉得量变到点了,该质变了 再加上还有sempr大牛的hustoj,节省了许多时间(syscall的列表...) 于是就在一天内写出了这个800行的judge 或者也可以说是copy sempr的judge吧,因为judge的整个流程基本一样。 写这个judge之前我已经思考了很多东西了,重点是架构的设计 我希望把judge设计成一个完全独立的程序,只负责跑程序,判输出 可惜由于RF的问题,judge还是没法和语言独立开来。 但是总的来说,这个judge和我接触过的oj的设计都不一样 它不负责任何与数据库有关的东西,只做该它做的事情 这样的好处是实现起来更加简单 由于其独立性,还可以配合不同的front-end,实现不同的judge 比如设计一个Personal版的,不需要web和daemon 这样可以进行offline judge,让acmer知道程序跑得是否正确,时间内存使用如何... 目前的这个效果是比较令我满意的,完成了一个judge该有的功能,包括spj。 felixoj(这个名字很挫吧。。。)的其他部分 比如Web, DB, Daemon, JudgeWrapper暂时没有时间去做了 预计留在暑假慢慢实现 如果你有兴趣测试使用这个judge,可以到felixoj的google code主页去: http://felixoj.googlecode.com Generated by Bo-blog 2.1.0