下面列出了 HydroOJ 目前支持的所有评测语言的相关信息。

如果您有需要我们支持更多评测语言,或者希望我们能够修改编辑指令或是编译器版本,请向我们提出。

编译指令

参照 https://hydro.ac/wiki/help

update@2022/10/22: 新的评测机使用 nix 管理环境,所选用编译器均为构建 rootfs 时 nixpkgs 目录下的最新版本,以下条目不再有效。

编译器版本

  • Bash(sh)

    GNU bash, version 5.0.17(1)-release (x86_64-pc-linux-gnu)
    
  • Brainf**k(brainfuck)

    bf - a Brainfuck interpreter       version 20041219
    
  • C(c) & C++(cc)

    g++-10 (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0
    
  • Mono C#(cs)

    Mono C# compiler version 6.8.0.105
    
  • Go(go)

    go version go1.13.8 linux/amd64
    
  • Haskell(hs)

    The Glorious Glasgow Haskell Compilation System, version 8.6.5
    
  • Java(java)

    OpenJDK Runtime Environment (build 16.0.1+9-Ubuntu-120.04)
    
  • Julia(jl)

    julia version 1.6.2
    
  • Node.js(nodejs)

    v14.17.5
    
  • Pascal(pas)

    Free Pascal Compiler version 3.0.4+dfsg-23 [2019/11/25] for x86_64
    
  • PHP(php)

    PHP 7.4.3 (cli) (built: Aug 13 2021 05:39:12) ( NTS )
    Copyright (c) The PHP Group
    Zend Engine v3.4.0, Copyright (c) Zend Technologies
        with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies
    
  • Python2(py.py2)

    Python 2.7.18
    
  • Python3(py.py3)

    Python 3.8.10
    
  • Ruby(rb)

    ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux-gnu]
    
  • Rust(rs)

    rustc 1.51.0
    
  • WhiteSpace(whitespace)

    whitepy                0.4                 
    

限制题目提交语言

在题目 config.yaml配置帮助)中加入下面的代码并删去想要禁用的提交语言即可(这份代码将会随着支持语言的增加而实时改动):

langs:
  - bash
  - brainfuck
  - c.c99
  - c.c11
  - cc.cc98
  - cc.cc03
  - cc.cc11
  - cc.cc14
  - cc.cc17
  - cc.cc2a
  - cc.cc98o2
  - cc.cc03o2
  - cc.cc11o2
  - cc.cc14o2
  - cc.cc17o2
  - cc.cc2ao2
  - cs
  - go
  - hs
  - java
  - jl
  - nodejs.cjs
  - nodejs.mjs
  - pas
  - php
  - py.py2
  - py.py3
  - rb
  - rs
  - whitespace

需要注意的是由于目前使用白名单限制提交语言,未来新加入的语言将不会自动于现阶段做出限制的题目中启用。

9 条评论

  • @ 2022-10-29 11:26:00
    Brainf**k(brainfuck)
    
    bf - a Brainfuck interpreter       version 20041219
    

    管理也知道这个太文明了

    • @ 2022-10-29 11:12:07

      为啥看着想到某3A大作

      - cs
      - go
      
      • 懂了,只用上面的

        • @ 2022-10-16 20:03:09

          c++建议加上O2O1O3O0优化

          • @ 2022-8-13 12:51:51

            emm?

            WhiteSpace没太大意义吧

            • @ 2021-11-18 8:37:14

              请问可以在 C++ 相关编译命令中添加 -DONLINE_JUDGE

              每次交题都要先 TLE 一遍 kuaikule

              @Macesuted

              • @ 2021-12-17 15:29:28

                @Macesuted

              • @ 2021-12-17 16:21:16

                @ 似乎没什么意义 yiwen

                另外 @ 人的时候要点击补全栏中对应项才能起作用。

              • @ 2021-12-18 16:44:37

                @ 主要是大部分 OJ 比如 Luogu、CF、AT、UOJ、LOJ、51Nod、POJ(几乎我交过题的 OJ)都有这个编译命令,我一直是本地文件测样例,交上去就不会开文件了。

                然后就在 Hydro INF 次忘关文件了。

                抱歉之前没怎么 @ 过人

              • @ 2021-12-18 20:04:06

                @ 感觉既然CCF不开这个flag我就没必要加(

              • @ 2021-12-19 11:45:56

                @ CCF 是文件输入输出,但是 hydro 是 OJ 环境吧(

                ONLINE_JUDGE 是现在几乎所有 OJ 一个通用的宏了,这样可以用 #ifdef ... #else ... 这种东西识别 OJ 和本地环境了吧,感觉还是一个比较重要的东西,尤其是对于我这种样例永远放文件的人。

                以前干过时限 5s 20 个点直接交然后 TLE 这种事,感觉总是卡评测姬不太好,又感觉大部分 OJ 有这个宏但是 Hydro 没有挺突兀的,因此就提出了这点。

                没有加上也没关系,我下次注意单独关文件吧,抱歉打扰管理大大了。

              • @ 2021-12-19 16:13:48

                @ 依赖 ONLINE_JUDGE 是个很不好的习惯。因为本系统的部分题目是要求文件IO的(((((

            • @ 2021-9-13 20:22:52

              不是吧,支持 C++ 除了 CCF 规定版本以外的所有版本???

              C++14 去哪里了!

              @Macesuted

            • @ 2021-8-23 11:34:00
              • @ 2021-8-23 10:31:23

                抓住

                • 1