大家可能都上过一些在线的程序评测网站,如ACM比赛常用的http://acm.pku.edu.cn/JudgeOnline/,这些网站能对C/C++/JAVA/PASCAL等等源代码进行提交,然后给你反馈一个结果,通过(Accepted,AC)、答案错误(Wrong Answer,WA)、超时(Time Limit Exceed,TLE)、超过输出限制(Output Limit Exceed,OLE)、超内存(Memory Limit Exceed,MLE)、运行时错误(Runtime Error,RE)、格式错误(Presentation Error,PE)、或是无法编译(Compile Error,CE),并返回程序使用的内存、运行时间等信息。 请问其后台采用的是什么方式对代码进行编译的,又是如何获取代码的运行时状态的?
    我不需要pascal的支持,只需要C/C++/JAVA就行,请大家知道的说一说后台是采用的什么编译器,又是如何获取代码的运行时状态的。
    采用的什么编译器,如何将此编译器在后台中调用。

解决方案 »

  1.   

    JudgeOnline系统的编译器通常在网站上有说明,pku的请参考http://acm.pku.edu.cn/JudgeOnline/page?id=1000
    结果检测都是用的标准输入输出。stdin/stdout或System.in/System.out
    测试数据作为输入,结果作为输出。
    普通的程序由出题者直接提供输出结果,和程序输出结果对比
    特殊的程序专门提供程序对输出结果进行评判。
    代码不正确在编译期间会出错
    其他的系统错误,比如超时、内存限制等是通过对程序进程的监控、管理来做到的。