编译器资源限制放入配置文件中

This commit is contained in:
virusdefender 2016-05-02 21:02:01 +08:00
parent 6acb062a86
commit 9f8202ffdc
No known key found for this signature in database
GPG Key ID: 1686FB5677979E61
2 changed files with 8 additions and 2 deletions

View File

@ -15,8 +15,8 @@ def compile_(language_item, src_path, exe_path, judge_base_path, compile_spj=Fal
compile_result = judger.run(path=compiler,
in_file="/dev/null",
out_file=compiler_output_file,
max_cpu_time=2000,
max_memory=256 * 1024 * 1024,
max_cpu_time=language_item["compile_max_cpu_time"],
max_memory=language_item["compile_max_memory"],
args=compile_args,
env=["PATH=" + os.environ["PATH"]],
use_sandbox=False,

View File

@ -6,6 +6,8 @@ languages = {
"name": "c",
"src_name": "main.c",
"code": 1,
"compile_max_cpu_time": 3000,
"compile_max_memory": 128 * 1024 * 1024,
"compile_command": "/usr/bin/gcc -DONLINE_JUDGE -O2 -w -fmax-errors=3 -std=c99 {src_path} -lm -o {exe_path}/main",
"spj_compile_command": "/usr/bin/gcc -DONLINE_JUDGE -O2 -Werror -fmax-errors=3 -std=c99 {src_path} -lm -o {exe_path}",
"execute_command": "{exe_path}/main",
@ -15,6 +17,8 @@ languages = {
"name": "cpp",
"src_name": "main.cpp",
"code": 2,
"compile_max_cpu_time": 3000,
"compile_max_memory": 128 * 1024 * 1024,
"compile_command": "/usr/bin/g++ -DONLINE_JUDGE -O2 -w -fmax-errors=3 -std=c++11 {src_path} -lm -o {exe_path}/main",
"spj_compile_command": "/usr/bin/g++ -DONLINE_JUDGE -O2 -Werror -fmax-errors=3 -std=c++11 {src_path} -lm -o {exe_path}",
"execute_command": "{exe_path}/main",
@ -24,6 +28,8 @@ languages = {
"name": "java",
"src_name": "Main.java",
"code": 3,
"compile_max_cpu_time": 3000,
"compile_max_memory": 1024 * 1024 * 1024,
"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 "