下午,我打開 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 終於開竅了!