zoukankan      html  css  js  c++  java
  • HUSTOJ增加其他语言出现RuntimeError解决办法

    HUSTOJ增加其他语言,如Python、Java、Pascal等等,如果程序是正确的,却报运行错误,添加okcall就行。

    具体错误可以看日志:

     [ERROR] A Not allowed system call: runid:运行编号 callid:id号
    TO FIX THIS , ask admin to add the CALLID into corresponding LANG_XXV[] located at okcalls32/64.h ,and recompile judge_client

    修改评测机okcall文件(如core/judge_client/okcall64.h),给对应的语言增加callid:后面的id号即可,尽量不用加在开头或者结尾,有些数组首尾是0的,可能有什么特别的含义呢!

    CV是C语言;PV是Pascal语言;JV是Java语言;YV是Python语言……如果搞不清楚哪个V对应哪个语言,请看judge_client.cc源代码:

    void init_syscalls_limits(int lang) {
        int i;
        memset(call_counter, 0, sizeof(call_counter));
        if (DEBUG)
            write_log("init_call_counter:%d", lang);
        if (record_call) { // C & C++
            for (i = 0; i < call_array_size; i++) {
                call_counter[i] = 0;
            }
        } else if (lang <= 1) { // C & C++
            for (i = 0; i==0||LANG_CV[i]; i++) {
                call_counter[LANG_CV[i]] = HOJ_MAX_LIMIT;
            }
        } else if (lang == 2) { // Pascal
            for (i = 0; i==0||LANG_PV[i]; i++)
                call_counter[LANG_PV[i]] = HOJ_MAX_LIMIT;
        } else if (lang == 3) { // Java
            for (i = 0; i==0||LANG_JV[i]; i++)
                call_counter[LANG_JV[i]] = HOJ_MAX_LIMIT;
        } else if (lang == 4) { // Ruby
            for (i = 0; i==0||LANG_RV[i]; i++)
                call_counter[LANG_RV[i]] = HOJ_MAX_LIMIT;
        } else if (lang == 5) { // Bash
            for (i = 0; i==0||LANG_BV[i]; i++)
                call_counter[LANG_BV[i]] = HOJ_MAX_LIMIT;
        } else if (lang == 6) { // Python
            for (i = 0; i==0||LANG_YV[i]; i++)
                call_counter[LANG_YV[i]] = HOJ_MAX_LIMIT;
        } else if (lang == 7) { // php
            for (i = 0; i==0||LANG_PHV[i]; i++)
                call_counter[LANG_PHV[i]] = HOJ_MAX_LIMIT;
        } else if (lang == 8) { // perl
            for (i = 0; i==0||LANG_PLV[i]; i++)
                call_counter[LANG_PLV[i]] = HOJ_MAX_LIMIT;
        } else if (lang == 9) { // mono c#
            for (i = 0; i==0||LANG_CSV[i]; i++)
                call_counter[LANG_CSV[i]] = HOJ_MAX_LIMIT;
        } else if (lang == 10) { //objective c
            for (i = 0; i==0||LANG_OV[i]; i++)
                call_counter[LANG_OV[i]] = HOJ_MAX_LIMIT;
        } else if (lang == 11) { //free basic
            for (i = 0; i==0||LANG_BASICV[i]; i++)
                call_counter[LANG_BASICV[i]] = HOJ_MAX_LIMIT;
        } else if (lang == 12) { //scheme guile
            for (i = 0; i==0||LANG_SV[i]; i++)
                call_counter[LANG_SV[i]] = HOJ_MAX_LIMIT;
        }

    }

  • 相关阅读:
    Google快照查看八大绝招[小摘]
    CSS li或dd 浮动后增加图片时多出4PX问题
    ASP.NET C# 邮件发送全解
    ff ie7 ie6 css支持问题[拼网页标记]
    net 中 等同与ajax的效果 ICallbackEventHandler
    让DIV层位于flash对象之上
    屏蔽JS错误代码
    META标签的使用摘录,网页跳转特效
    【转】海量数据处理常用思路和方法
    MFC画图定时刷新,能否做到完全无闪烁
  • 原文地址:https://www.cnblogs.com/crxis/p/8945848.html
Copyright © 2011-2022 走看看