环境搭建
只讲单文件 C++ 程序编写和编译运行
按照本文的搭建结果应该是:代码编辑器 + 编译器 + 终端 + 一些脚本(optional)。
警告:Mac 网络赛和现场赛都用不了,但是 Mac 是基于 Unix 的,可以参考 Linux 中的内容
代码编辑器
首先不采用任何 IDE 的原因是避免依赖,讲更加通用的方法。程序设计竞赛现场赛多是使用提供的机器,不保证IDE的安装。不希望再有任何关于 IDE 使用的问题。
代码编辑器选择有很多,选喜欢的即可,例如:Vim, Vscode(无插件),gedit, sublime, notepad++, 忽略功能按钮的 IDE, 等等...
编译器
Linux
g++,安装后一般无需额外配置
Windows
如果使用 WSL, 则同 Linux,后续不再强调
第一步,下载按照下列之一,建议装64位的,建议选 TDM-gcc,根据经验编译的会快一点,也比较好装。
第二步,把 g++.exe 所在路径加入环境变量里
找到安装的路径,应有 bin/g++.exe 把 bin 目录加入 Windows 的环境变量中,
例如 C:\TDM-GCC-64\bin\g++.exe
, 则应加入 C:\TDM-GCC-64\bin
。
添加环境变量这里不详细讲了,win10 或以上可以参考链接,win7或以下可以参考链接, 也可以通过百度等所搜引擎学习。
终端
如果完成了上述步骤,打开终端输入 g++ --version
应该能看到版本号,gdb --version
也可以
Linux
选自己喜欢的即可,现场一定会有 bash
Windows
cmd 或 git-bash 或 PowerShell 进入后先敲一个 cmd 回车
tip: 在文件夹按住 shift + 右键可以在此打开终端, git-bash 需要安装的时候配置,vscode 也可以配置终端。
编译脚本
IDE 其实就是把编译期提供的信息按它的方式展现出来。这里讲下如何终端进行编译。
假如要编译 main.cpp 文件
在 Linux 下会生成 main 文件,Windows 下会生成 main.exe 文件,如果没有 -o main
则会生成 a.out, 复杂一点
-g
表示开启调试符号, -O0
关闭所有优化选项,-Wall
开启编译警告。
-DLOCAL
相当于程序里写了 #define LOCAL
,多用于调试。
Linux
例如创建 rc
#!/bin/bash
g++ $1.cpp -o $1 -g -O0 -Wall -DLOCAL -fsanitize=undefined -fsanitize=address && echo compile_successfully >&2 && ./$1
则可以 ./rc A
编译运行 A.cpp
Windows
创建 rc.bat
则可以 rc A
编译运行 A.cpp