java后台如何实现对代码进行编译并获得运行信息

zhangya_123 2010-09-17 08:44:24
大家可能都上过一些在线的程序评测网站,如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就行,请大家知道的说一说后台是采用的什么编译器,又是如何获取代码的运行时状态的。
采用的什么编译器,如何将此编译器在后台中调用。
...全文
221 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangya_123 2010-09-20
  • 打赏
  • 举报
回复
请教。。。。
  • 打赏
  • 举报
回复
只是来学习学习的
zhangya_123 2010-09-19
  • 打赏
  • 举报
回复
那么是如何对程序进程进行监控,如何获得程序的运行状态和使用的内存,时间等状态呢?
taolei 2010-09-18
  • 打赏
  • 举报
回复
JudgeOnline系统的编译器通常在网站上有说明,pku的请参考http://acm.pku.edu.cn/JudgeOnline/page?id=1000
结果检测都是用的标准输入输出。stdin/stdout或System.in/System.out
测试数据作为输入,结果作为输出。
普通的程序由出题者直接提供输出结果,和程序输出结果对比
特殊的程序专门提供程序对输出结果进行评判。
代码不正确在编译期间会出错
其他的系统错误,比如超时、内存限制等是通过对程序进程的监控、管理来做到的。
这是一个实际使用中的项目,可访问 http://cdbke.cuit.edu.cn 可查看效果及功能,后台需要登录后才能使用(出于安全性考虑这里就不给大家介绍了,另外还有一个struts1版本的,如有需要可以与我联系)。 此项目整合了目前主流和最前源的web开发技术:采用ehcache实现二级缓存(包含查询缓存);用sf4j及logback(log4j的升级版)记录日志;proxool(据说是dbcp和c3p0三者中最优秀的)做连接池;使用jquery的ajax实现仿google人名自动补全;头像上传剪切压缩处理。 包含有完整的jar包和源代码,可以直接下载编译部署和运行,这是专门为我们实验室定制开发的。虽然后台逻辑并不复杂,但已经包含了架构基于s2sh技术型系统的全部基础部分:如分页,缓存,文件上传,连接池等。很适合学习使用,希望对初学JavaEE WEB开的人有所帮助。 这个资源在去年发布了第一版,已经有很多朋友下了觉得对他们有帮助,所以我才再发了一个第二版,希望对有需要的朋友有所帮助。本版本全面更新了jar包,全部使用了当前最新版本的jar包,struct2.1.8 spring3 hibernate3.5,全面使用注解取代xm的l配置。 另外增加了一个ant构建脚本,支持使用hudson完成每日构建,持续集成,自动测试,代码规范检查,代码审查等功能(与此相关的jar包由于上传文件大小限制未导入) 本系统一直在使用中,所以还会不段更新,之后我打算再做一个基于javaee6的实现,给需要想学习ejb3.1等技术的朋友一个参考实现 集成测试相关jar包和更新构建脚本下载:http://download.csdn.net/source/2427972

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧