物理 [栖岸计划]智英带你学C语言(第一章)
返回目录:[栖岸计划]智英带你学C语言(新版回归)
第一章 编译器与VS Code的下载与安装
1.1 编译环境的配置
现在有一个好消息和一个坏消息。
好消息:Linux系统自带GCC编译器。
坏消息:想必大多数人用的是Windows系统。Windows系统不但没有自带的编译器,哪怕是已经在Linux环境下(如虚拟机、WSL)编译出来的程序,都无法完成运行。
为了解决这个问题,我们可以下载安装MSYS2。以下是下载的方法(以清华镜像源为例):
从清华镜像源网页首页开始,依次点击msys2,distrib,x86_64目录,或者直接输入下面的链接:

点击最新的exe文件,即可进行下载。下载完成后,在“下载”文件夹点击安装包,即可进行安装(不断点击Next):

这里我把下载目录放在了D盘(因为智英电脑的C盘已经飘红很多次了)。除了这里,其他所有的内容都可以跳过。

上图为最终的完成页面。选择Run MSYS2 now,然后点击Finish,就会自动打开MSYS2 UCRT64的终端。

对MSYS2本身下载和安装的步骤均已完成,然而,为了完成编译,我们还需要为其配置GCC工具链(如MinGW-w64)。一般我们使用Pacman对其进行管理。具体方法如下:
首先,向刚刚打开的终端输入如下命令:
sed -i "s#https\?://mirror.msys2.org/#https://mirrors.tuna.tsinghua.edu.cn/msys2/#g" /etc/pacman.d/mirrorlist*
这一步骤将Pacman的默认镜像地址替换为清华镜像源。然后再执行如下命令:
pacman -Sy
pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain
会出现如下提示:

直接回车。接下来会有Y/n确认:

输入Y,然后回车。就能看到工具链的安装:

安装需要2~3分钟时间。安装完成后,直接退出即可。
既然安装完成了,那么就可以使用了吗?未必!有可能出现了如下的情况:

问题出在哪呢?
如果看过[栖岸计划](回归学术区)LaTeX:从公式,到排版 - 质心论坛的第一章,应该很容易发现问题在哪里:没有完成环境变量的配置!
配置方法详见LaTeX的帖子,基本相同。路径:安装目录\ucrt64\bin。重启PowerShell,再输入命令,就可以找到:

1.2 VS Code的下载,安装与使用
下载和安装不算复杂。直接在网上搜索VS Code,在官网下载,然后在本地“下载”文件夹中找到安装包,双击安装即可。重点在于,以C语言为背景,我们如何使用它。
我们知道,要由C语言写的程序得到可执行文件,需要进行编译。编译的快捷键为Ctrl+Shift+B。然而,如果我们对新安装的VS Code直接进行操作,会出现这样的情况:

它无法帮你找到编译器,因此无法完成编译。为了让它找到我们刚刚下载安装的GCC工具链,我们需要安装拓展C/C++ Extension Pack。安装方法如下:
找到左侧一栏自上往下第六个图标(四个正方形,三个正放,一个斜放),在应用商店中搜索C/C++ Extension Pack:

直接点击最上面的拓展的“安装”键即可。完成后,再按Ctrl+Shift+B,我们看到的内容就和刚才不同:

点击最上面的一栏即可。效果如下:

注意左侧显示文件夹中已经多了一个文件test.exe。点击终端最下面一行文字下方,出现光标,按任意键即可退出完成编译的终端。
关闭后,终端页面会变成这个样子:

点击方框的位置,输入./可执行文件名称(例如,这里就是./test.exe),即可展示运行结果。

当然,还有另一种方法能直接完成从编译到运行的全部过程,即Ctrl+F5快捷键。(严格来说,这快捷键跟调试有一定关系,这点后面再详细说。)
我们回到编译前。点击Ctrl+F5,会出现如下对话框:

点击后,我们就可以直接在终端看到最终的运行结果。

注意左边的文件夹。不止多了一个可执行文件test.exe,还多了一个叫.vscode的子文件夹。展开子文件夹,里面只有一个文件tasks.json:

这个文件的一个作用是,此后无论再使用Ctrl+Shift+B还是Ctrl+F5进行编译/运行,都无需再向刚才一样在页面上方进行选择。这确实起到了简化的作用。