Skip to content

Commit 40b66bf

Browse files
committed
update compiler&langs info
1 parent 9e08cd3 commit 40b66bf

File tree

2 files changed

+44
-25
lines changed

2 files changed

+44
-25
lines changed

content/docs/Hydro/install/compiler.mdx

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: 编译器
2+
title: 编译器和语言
33
---
44

55
从 2022/8/12 开始,Hydro 为了避免宿主机环境变化对于评测的影响,对于 **此后新安装的实例** 默认使用 [nix]() 管理环境。
@@ -20,13 +20,14 @@ nix-env -iA nixpkgs.rustc # Rust
2020
nix-env -iA nixpkgs.python3Minimal
2121
nix-env -iA nixpkgs.python3Packages.numpy
2222
nix-env -iA nixpkgs.pypy3
23-
nix-env -iA nixpkgs.php # PHP
23+
nix-env -iA nixpkgs.php
2424
nix-env -iA nixpkgs.go # Golang
25-
nix-env -iA nixpkgs.nodejs # NodeJS
25+
nix-env -iA nixpkgs.nodejs
2626
nix-env -iA nixpkgs.openjdk_headless # Java
27-
nix-env -iA nixpkgs.ruby # Ruby
27+
nix-env -iA nixpkgs.ruby
2828
nix-env -iA nixpkgs.mono # C#
2929
nix-env -iA nixpkgs.julia_17-bin # Julia
30+
nix-env -iA nixpkgs.iverilog # Verilog
3031
```
3132

3233
使用 `nix-env -q` 查看已安装的列表,后使用 `nix-env -e 编译器名` 即可删除对应的编译器。
@@ -53,7 +54,30 @@ javac -d /w -encoding utf8 ./Main.java && jar cvf Main.jar *.class
5354
请参照 [在沙箱中引入 Python 包](https://hydro.ac/d/faqs/p/15) 教程更新环境变量。
5455
</Callout>
5556

56-
## 进阶
57+
## 针对语言修改时间限制
58+
59+
系统默认给 Java 和 Kotlin 提供两倍时限, 此行为可在语言设置中修改:
60+
61+
```yml
62+
# 系统设置->语言设置
63+
java:
64+
# ... existing settings ...
65+
time_limit_rate: 2
66+
```
67+
68+
## C/C++ 彩色编译错误信息
69+
70+
1. 确认您安装了支持彩色输出的编译器;
71+
2. 在系统设置中,将 C/C++ 编译命令后加上 `-fdiagnostics-color=always`
72+
73+
例:
74+
75+
```yml
76+
c:
77+
compile: /usr/bin/gcc -O2 -Wall -std=c99 -o ${name} foo.c -lm -fdiagnostics-color=always
78+
```
79+
80+
## 进阶环境设置
5781

5882
如果你需要更加复杂的编译环境配置,我们建议使用编写单独的 nix 文件。
5983

@@ -92,3 +116,7 @@ pkgs.buildEnv {
92116

93117
更详细的 nix 语言介绍,请参照 [Nix Guide](https://nixos.org/guides/nix-language.html) 和
94118
[Nix Manual](https://nixos.org/manual/nix/stable/language/index.html)。
119+
120+
## 其他
121+
122+
推荐阅读 [HydroJudge](../plugins/hydrojudge) 章节,了解更多关于评测机设置的详细信息。

content/docs/Hydro/plugins/hydrojudge.mdx

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,11 @@ hydrooj addon add @hydrooj/hydrojudge
4141
该方法可以帮助您在任意服务器上部署评测机。
4242
</Callout>
4343

44+
<Callout type="warn">
45+
我们推荐所有独立评测机使用相同配置机器并关闭内置评测机, 以保证评测结果的稳定性。
46+
系统设置中的评测机相关选项仅控制内置评测机, 独立评测机需要在 judge.yaml 中进行设置。
47+
</Callout>
48+
4449
首先需要创建一个有 PRIV_JUDGE 权限的账户,具体方法参照 [此处](../system/cli/#创建评测账号)。(在部署 Hydro 的服务器上运行)
4550

4651
然后在运行评测机的服务器上安装 HydroJudge :
@@ -73,13 +78,8 @@ HydroJudge 会发布不定期更新。您可以使用 `yarn global upgrade-inter
7378

7479
## 关闭
7580

76-
### 作为附加组件
77-
78-
在 系统设置>hydrojudge 中有一栏 Disable builtin judge,将它勾上,然后重启 Hydro 即可。
79-
80-
### 作为独立进程
81-
82-
根据开启的方法关闭即可。
81+
- 作为附加组件: 在 系统设置>配置管理 中有一栏 Disable builtin judge,将它勾上,然后重启 Hydro。
82+
- 作为独立进程: 根据开启的方法关闭。
8383

8484
## 卸载
8585

@@ -111,7 +111,8 @@ parallelism: 2 # 单评测机评测进程数量
111111

112112
## 修改编译选项/添加新语言支持
113113

114-
对于已安装内置评测机的用户(无论内置评测机是否启动),在 控制面板>系统设置 中修改 judge.langs 配置项即可;对于没有安装内置评测机的用户,需要在 `~/.config/hydro/langs.yaml` 中配置。
114+
在 控制面板>系统设置 中修改 hydrooj.langs 配置项(对所有连接到该服务器的评测机生效)
115+
或在 `~/.config/hydro/langs.yaml` 中配置(对单个独立评测机生效, 不推荐)。
115116

116117
文件格式参照 [此处](https://github.com/hydro-dev/Hydro/blob/master/packages/hydrooj/setting.yaml#L22)
117118

@@ -120,6 +121,8 @@ parallelism: 2 # 单评测机评测进程数量
120121

121122
修改完后请重启 Hydro 和 hydrojudge 。
122123

124+
[编译器和语言](../install/compiler) 章节可查看更多信息。
125+
123126
## 调试沙箱环境
124127

125128
如果需要调试沙箱内的编译或者运行错误,可以使用 `hydrojudge terminal` 来打开评测交互终端。该终端运行于与评测环境相同的独立沙箱内。
@@ -154,18 +157,6 @@ pm2 info hydro-sandbox | grep "exec cwd"
154157

155158
编辑 `/root/.hydro/mount.yaml`,修改 size 即可。
156159

157-
## C/C++ 彩色编译错误信息
158-
159-
1. 确认您安装了支持彩色输出的编译器;
160-
2. 在系统设置中,将 C/C++ 编译命令后加上 `-fdiagnostics-color=always`
161-
162-
例:
163-
164-
```yml
165-
c:
166-
compile: /usr/bin/gcc -O2 -Wall -std=c99 -o ${name} foo.c -lm -fdiagnostics-color=always
167-
```
168-
169160
## 开大程序运行栈空间
170161

171162
**2022/8/12 后安装的实例默认已开启无限栈空间,无需手动操作**

0 commit comments

Comments
 (0)