下午,我打开 noi 官网准备报名 csp j/s,一看官网展板:“noi linux 2.0 发布” 我就兴奋了起来。(9 月 1 日起开始使用,
也就意味着 csp j/s 使用 noi linux 2.0)linux
啪的一下很快啊,我点击了这个图片连接。c++
一看这个配置:Ubuntu 20.04.一、vscode、sublime、code::blocks、gcc-9,
同时也去除了辣鸡 IDE(GUIDE)。
相比于以前的 noi linux,这简直是天堂啊!git
回想去年参加 csp,使用的是老版的 noi linux,回想起来真是一把辛酸泪啊:那个老旧的 Ubuntu 14.0四、莫名其妙卡死的桌面、
不能称之为 IDE 的 IDE(GUIDE)、gdb 崩溃......我当时用的 emacs 和 vim(emacs稍微好一些,可是我比较习惯 vim),比赛前
还特地查了 vim 的用法、背了配置文件。真是难以言表。github
难道 CCF 终于了解到 OIer 们的痛点了吗?他终于醒悟了吗?编程
抱着试试看的心态,我下载了 noi linux 2.0 的 iso 文件(3.4G),使用 VirtualBox 安装了虚拟机(vmware 我感受很差用),
固然也能够实体机安装双系统,网上教程一大堆,自行搜索。vim
这里注意,新的 Ubuntu 20.04 是 64 位系统(32位的能够歇歇了),RAM 最少须要开 2048 MB(不然系统没法启动)。bash
安装系统就一路默认(一开始语言选的是中文,后来我后悔了,最好选英文),键盘布局选择 Chinese - Chinese 就行。网络
大概 20 分钟左右系统安装完成,重启后弹出虚拟光驱进入系统。编辑器
整个系统给我第一眼的印象感受还行(能够在桌面右键点击
更换壁纸),可是系统彷佛没有网络模块,因此没法联网。工具
点击左下角的点,打开 VS Code、Terminal、Sublime Text、Code::Blocks。我写了一份测试代码(本人 C++ 党)。
#include <cstdio> #include <cctype> #include <vector> using namespace std; #define reg register // 快读模板 int readInt() { reg int x = 0, f = 1; char ch = getchar(); while (!isdigit(ch)) { if (ch == '-') f = -1; ch = getchar(); } while (isdigit(ch)) { x = x * 10 + ch - 48; ch = getchar(); } return x * f; } int main(void) { freopen("test.in", "r", stdin); freopen("test.out", "w", stdout); vector<int> v; int n = readInt(); for (reg int i = 0; i < n; i++) v.push_back(read()); for (auto el& : v) printf("%d ", el); puts(""); fclose(stdin); fclose(stdout); return 0; }
保存在 ~/test.cpp
同时建立 ~/test.in 并输入如下内容
5 1 2 3 4 5
在终端中输入
$ g++ test.cpp -o test -std=c++11 -O2 # C++11 和 O2 优化 $ ./test
打开 ~/test.out 查看,输出为:
1 2 3 4 5
VS Code、Sublime Text、Code::Blocks 我都进行了测试,并得出如下结论:
建议平时刷题的时候使用 Code::Blocks,能够抛弃老旧的 Dev-C++ 了。
小提示:Linux 的命令行很是高效,建议熟练掌握其常见命令,有时甚至在比赛时能够救你一命(亲身经历)
noi linux 2.0 相比旧版本作了很大的改动,其使用更加方便,更加适合 OIer。
编程工具建议使用 Code::Blocks 和 Sublime Text。二者都有较好的语法提示和单文件编译功能。
CCF 终于开窍了!