NOI Linux 2.0使用技巧

为什么要用 NOI Linux 2.0?先看下面这段代码:

#include <bits/stdc++.h>

using namespace std;

int y1 = 10, next = 100;

int main() {
    cout << y1 << endl;
    return 0;
}

在 Windows 系统上,这段代码可以正常编译运行,但是在 NOI Linux 2.0(也就是 NOI 系列赛事评测环境中)上,使用 g++ a.cpp -o a -O2 -std=c++14 -static -Wall 进行编译,这段代码将会编译错误,提示 y1next 这两个标识符在别的地方已经被定义过了。如果不使用 std 命名空间,或者使用低版本的编译参数,或者把这几个变量放到局部去定义,就不会出现这个问题。

于是我们可以有一个直观体验,如果本地用的是 Windows 的话,可能交上去的代码因为奇妙的原因无法通过编译,从而爆零。因此,我们要学习在本地使用 NOI Linux,从而减少这种非智力丢分。

由于我并没有打过 OI,这是第一次或许有机会参加,所以还是要稍微学习一下怎么用这些东西。

在终端下输入 ulimit -s <num> 可以将栈空间更改为 num KB(如 ulimit -s 262144 可以将栈空间改为 256 MB),ulimit -s unlimited 可以将栈空间改为无限制。ulimit -a 可以查看各项资源的限制情况。

参考文献:

赞赏