编译器
安装 C/C++ 编译器
编译器是一种基础工具,它能把人类编写的源代码翻译成计算机可以直接执行的程序。没有编译器,计算机无法理解和运行你的代码。学习编程时,首先需要安装并配置好编译器,这样才能把你的代码变成可以运行的应用。
与大多数现代语言不同,C/C++ 是由国际标准委员会制定的标准规范,而并没有官方统一的编译器实现。因此,我们有许多不同的 C/C++ 编译器可供选择,比如 GCC、LLVM + Clang 和 MSVC 等,每种编译器在不同操作系统上有各自的安装方式和特性。
接下来,我们将介绍在主流操作系统(Windows、macOS、Linux)下的 C/C++ 编译器安装步骤及常见开发工具的配置方法。
Windows
在 Windows 上,我们可以使用 Microsoft Visual Studio 或者 MSYS 2 来安装工具链(也可以使用 Windows Subsystem for Linux 2 安装 Linux 的 C/C++ 工具链,方法和 Linux 相同)。主要区别如下:
MSYS 2
- 提供了软件包管理器,可以非常方便的在 Windows 下配置 CMake、Make、GCC、Clang 等开发工具
- 相比于 Visual Studio,MSYS 2 的工具链更加轻量,占用的磁盘空间更少
- 使用 GCC/Clang 可以保证多平台项目开发构建工具的一致性
- 提供一个类 Unix 环境,提供了一个 POSIX 兼容的 Shell (在后续章节会深入探索)
- 没有图形化界面的配置方法,对于新手而言可能有些挑战
Visual Studio
- 微软官方的集成开发环境 (IDE),功能强大,支持代码编辑、调试、版本控制等多种功能
- 内置 MSVC 编译器,性能优异,适合 Windows 平台的应用开发
- 在 Windows 下与系统的集成更好,提供了许多额外的工具库
- 体积较大,功能较多较繁杂
- 仅支持 Windows,且有部分功能与 GCC/Clang 不兼容,对跨平台项目来说不友好
具体的选择应该看你的需求和偏好。对于电子与计算机院的学生,或是以后想要从事计算机方面工作的同学,我建议你至少需要学会对 Linux MSYS 2 的安装与配置。
事实上,私以为 Windows 是所有系统中开发体验最差,开发效率最低,环境配置最繁琐的系统。
MSYS 2
该节由 Goldbro233 编写
什么是 MSYS2
在笔者看来,阅读这篇指南的同学们你们很成功的选择一个离 C/C++语言最远的操作系统,所以 C/C++也很成功的抛弃了你们。
当然上面这句话不是我说的,是我在找其他教程的时候看到的,当然你们也不用担心,我们马上就会解决上面这个问题。
MSYS2 就是这样一套工具链,通过很简单的一些操作,就能让你在 Windows 平台上也能获得类 Unix 的开发体验。
在以下这边指北南当中,我会简单介绍如何安装 MSYS2,如何简单的使用 vim,如何修改 MSYS2 的镜像源来加快下载速度,如何找到自己合适的安装包,以及最后如何安装 C/C++ 工具链。
我们马上开始 :D
具体指南
基本安装 MSYS2

在进行祖传的猛猛点击下一步以后,我们就会进入这样一个终端界面:
(如果没有终端打开的话,我们去找到新安装的程序,点击 MSYS2 UCRT64 即可。)

不必害怕终端界面,这是一个比图形化界面更加好操作的界面,接下来我们就会简单介绍。
如果你想要深入学习计算机,那么终端界面是你的必学项目。

MSYS2 使用的是 bash 作为终端,不过对我们来说没有什么区别。我们会首先介绍包管理器 pacman 的使用,这是我们在终端当中的“应用商店”,我们使用这个软件来安装各种程序。
我们在终端中输入这个命令来安装 vim 作为我们的编辑器:
(如果安装速度较慢请不用担心,这是因为我们还没有更换软件源)
pacman -S vim
输入 Y 即可继续安装,这是需要进行确认的一个步骤。
更换软件源
MSYS2 的软件源的服务器在国外,我们可以更换国内的软件源来加快下载速度。
使用这样的命令更换软件源:
sed -i "s#https\?://mirror.msys2.org/#https://mirrors.tuna.tsinghua.edu.cn/msys2/#g" /etc/pacman.d/mirrorlist*这样我们就将镜像源替换到了国内的清华镜像源。
寻找并下载对应软件包
MSYS2 上面有大量的软件包可供下载,我们可以使用官方网站来寻找你需要的对应软件包。
对于 pacman 来说,我们先来对于 MSYS2 和软件源进行一次完全的更新:
pacman -Syyu输出大概是这个样子,不要忘记时常过来进行一下更新 :)
(此处可能要求你重新启动 MSYS2,不必担心同意然后重启即可。)

接下来我们来下载对应的 C/C++ 工具链,这里已经帮你们找好了对应的软件包,只需要复制下面的命令即可:
pacman -S mingw-w64-ucrt-x86_64-make mingw-w64-ucrt-x86_64-gcc mingw-w64-ucrt-x86_64-gdb mingw-w64-ucrt-x86_64-cmake mingw-w64-ucrt-x86_64-clang-tools-extra -y这样软件包已经安装完成了,但是我们还没有办法在 Windows 的命令行环境下调用这个软件,遂下一步就是添加 Windows 的环境变量。
添加 Windows 环境变量
还记得你的 MSYS2 装在哪里了吗? 默认状态下 应该是在 C:\msys2 这个目录下。
我们将 C:\msys64\usr\bin 和 C:\msys64\ucrt64\bin 添加至系统的环境变量下。
(如何添加环境变量请自行搜索,毕竟不能什么都喂到嘴里来 (其实是笔者懒了) )
之后我们打开一个 Windows 中的终端,输入 gcc --version,如果出现了大抵是以下的输出,证明你的工具链已经安装完成了,可以踏入 C/C++ 的世界了!恭喜!

补充阅读部分
UCRT 是什么呢?
这里我们先把官方介绍丢上来,有兴趣可以直接自行阅读。
简单来说是一个通用的 C 语言运行时,在构建时和运行时都具有更好的与 MSVC 的兼容性。
pacman 是什么呢?
这里我们也把官方介绍丢上来,只不过这是 Archlinux Wiki。
做个简单介绍就是:这原本是 Archlinux 的包管理器,MSYS2 拿过来做了一部分改动,不过大体上是基本相同的。所以想要学习更多的使用方法直接看 Wiki也可以。
如何找到对应版本的软件包?
我们还是把官方介绍丢上来,请各位自行阅读~
不太想看文档怎么办?
主包主包,文档实在太多了,我实在不想看怎么办?
没办法,你一定得读喵!
不过群里的大家都还是很友好的,欢迎提问~
Visual Studio
Visual Studio 的安装请参考 快速入门
Clion (内置 MinGW)
Clion 内置 MinGW 编译工具,对于新手快速入门来说比较方便,但是长期学习使用 C/C++ 不建议使用。
安装请参考 快速入门
MacOS
MacOS 安装 C/C++ 环境也相对简单,主要分为官方的 Xcode 安装和 Homebrew 安装。
XCode
XCode 是苹果官方的集成开发环境,提供了 GCC、Clang、Make 等工具。
安装 XCode 命令行工具
-
打开终端(可以使用
Command + Space,输入 Terminal 后回车) -
输入以下命令
xcode-select --install- 按照提示进行操作。
安装完整的 XCode 环境
完整的 XCode 环境还带有 XCode 的集成开发环境,如果你想要开发 iOS、iPadOS、MacOS、WatchOS、TVOS、VisionOS 的应用,可以下载完整版的 XCode。
完整版的 XCode 安装更加简单,打开 App Store,搜索 XCode 安装即可。安装完后,首次打开 XCode 会自动安装所需工具链。
Homebrew
如果你不想使用官方的 XCode 来安装环境,也可以使用 MacOS 下的第三方包管理器,如 Homebrew,Port 来安装。这里以 Homebrew 为例。
- 安装 Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"按照提示输入密码,等待安装。
- 安装 GCC/Clang
GCC:
brew install gccClang:
brew install llvm注意
Homebrew 安装的 clang 命令会带有版本号后缀(例如 clang-15),以避免与系统自带的 clang 冲突。你可以通过 brew info llvm 查看具体的可执行文件路径。
Linux
在 Linux 下安装 C/C++ 环境较为简单,大多数发行版的包管理器中就含有 GCC/Clang 工具链。下面以 Ubuntu 和 Arch Linux 为例,介绍如何安装 GCC/Clang 工具链。
提示
GCC/Clang 编译器可以共存,而并非只能选择其中一个。
Arch Linux
Arch Linux 使用 Pacman 作为包管理器。使用 Pacman 即可安装工具链。
GCC
sudo pacman -S base-devel cmakebase-devel 包含了 GCC、Make 等基本开发工具。事实上我们一般会选择在安装 Arch Linux 的过程中直接安装 base-devel 包。
验证是否安装完毕
gcc --version
make --version
cmake --versionLLVM + Clang
sudo pacman -S clang llvm lld lldb make cmake验证是否安装完毕
clang --version
make --version
cmake --version有关 GCC 和 Clang 的区别,感兴趣的同学可以自行查阅。
Ubuntu
Ubuntu 使用 Apt 作为包管理器。
GCC
sudo apt install build-essential cmakebuild-essential 类似于 Arch Linux 的 base-devel,包含了 GCC、Make 等基本开发工具。
验证是否安装完毕
gcc --version
make --version
cmake --versionLLVM + Clang
sudo apt install clang llvm lld lldb make cmake验证是否安装完毕
clang --version
make --version
cmake --version有关 GCC 和 Clang 的区别,感兴趣的同学可以自行查阅。
Android
在 Android 手机上配置 C/C++ 开发环境相对较为复杂,尤其是如果你的设备没有 root 权限,很多操作会受到限制。如果你有 root 权限,操作会更加灵活和方便。
警告
请不要随意 root 你的手机。这对安全性、稳定性、性能等方面都可能产生负面影响。如果你确实需要 root,建议先了解相关的风险和后果,在非主力机的闲置手机上进行。root 前请对手机数据进行备份。
Android 本质上是基于 Linux 的一个发行版,因此理论上安装 GCC 环境的方式与 Linux 类似。不过,由于 Android 在系统架构、底层 C 库等方面与传统 Linux 有所不同,直接安装和使用 GCC 可能会遇到兼容性问题。
幸运的是,有一款非常实用的软件可以帮助我们在 Android 上搭建开发环境,那就是 Termux。
Termux 是一个强大的 Android 终端模拟器和 Linux 环境应用。它允许你在手机上直接运行 Linux 命令、安装各种开发工具,包括 GCC、Clang 等 C/C++ 编译器,非常适合学习和简单开发。
登陆 Termux Release 页面:https://github.com/termux/termux-app/releases,选择对应手机架构的安装包下载(如果不清楚手机具体架构,可以下载 universal 版本)。下载完后安装 apk。
打开 Termux,gcc 默认已经安装完成。你可以通过输入 gcc --version 来验证 gcc 是否已安装成功。

如果你想安装 CMake 或者 clang,首先使用 Termux 的包管理器 pkg 更新软件列表:
pkg update
安装 CMake(或者 Clang 工具链):
pkg install cmake或
pkg install clang
大功告成!
