OnlineJudge/judge/language.py
virusdefender 847c82a500 解决Java运行内存限制的问题,issue #23
- 在judger中增加MEMORY_UNLIMITED的选项,不再限制Java内存分配了。刚刚提交上去 QingdaoU/Judger@2577bec
 - 将内存限制加入到Xmx等参数上,如果Java代码运行超过这个内存限制会导致异常
 - 如果没有异常,就在Python逻辑中比较题目限制的内存与judger获取Java运行时占用的内存(这个内存是准确的,比如a+b一般是20M左右),判断是否是超内存。
2016-03-31 23:26:52 +08:00

34 lines
1.1 KiB
Python

# coding=utf-8
languages = {
1: {
"name": "c",
"src_name": "main.c",
"code": 1,
"compile_command": "/usr/bin/gcc -DONLINE_JUDGE -O2 -w -fmax-errors=3 -std=c99 {src_path} -lm -o {exe_path}/main",
"execute_command": "{exe_path}/main",
"use_sandbox": True
},
2: {
"name": "cpp",
"src_name": "main.cpp",
"code": 2,
"compile_command": "/usr/bin/g++ -DONLINE_JUDGE -O2 -w -fmax-errors=3 -std=c++11 {src_path} -lm -o {exe_path}/main",
"execute_command": "{exe_path}/main",
"use_sandbox": True
},
3: {
"name": "java",
"src_name": "Main.java",
"code": 3,
"compile_command": "/usr/bin/javac {src_path} -d {exe_path} -encoding UTF8",
"execute_command": "/usr/bin/java -cp {exe_path} -Xss1M -XX:MaxPermSize=16M "
"-XX:PermSize=8M -Xms16M -Xmx{max_memory} -Djava.security.manager "
"-Djava.security.policy==policy -Djava.awt.headless=true Main",
"use_sandbox": False
}
}