搭建编程环境之前,我们需要先了解C语言程序的开发过程。
C语言程序的开发过程
通过编辑器来编写代码,代码编写完成后通过编译器来编译代码生成目标文件(.o或.obj文件),通过链接器将目标代码链接到一起形成可执行程序,可执行程序若存在问题(业界称之为有Bug),通过调试器来调试代码寻找问题。

编辑、编译和链接、调试分别通过不同的软件来进行,如果一个软件包含了编辑、编译和链接、调试功能,我们称之为集成开发环境(IDE: Integrated Development Environment)。
C语言开发的集成开发环境有很多,比如:Eclipse+CDT插件、Code::Blocks、Dev-C++、微软的Visual Studio等。
对于想深入学习C语言的开发者,我们通常不建议大家使用集成开发环境,推荐使用Linux工具链,如下表:
序号
开发阶段
生成的文件
Linux工具链
微软工具链
1
编辑
源文件(.c, .h)
VSCode/vim
Visual Studio
2
编译
目标文件(.o或.obj)
gcc
Visual Studio
3
链接
可执行程序(.exe)
gcc
Visual Studio
4
调试
gdb
Visual Studio
Linux工具链中,编辑程序推荐VSCode(Visual Studio Code),编译和链接使用gcc、调试程序使用gdb,接下来介绍他们的安装。
1. 安装编辑器及相关插件到VS Code官网下载对应操作系统的VS Code,VS Code目前支持macOS, Windows和Linux,其官网地址: https://code.visualstudio.com/
Visual Studio Code官网
双击安装程序,在向导的指引下完成安装。
VS Code提供了丰富的插件,通过使用插件可大大提升代码编写的效率。针对C语言,常用的插件如下:
VSCode常用C语言插件
序号
插件名称
插件功能简介
1
C/C++
来自微软官方的 C/C++ 插件,如果不安装,代码无法跳转,也没有自动补全
2
C/C++ Themes
C/C++代码高亮主题风格,支持黑色风格、浅色风格,可根据自己的喜好进行选择
2.安装编译器和调试器如果使用Linux或macOS操作系统,可以直接安装和使用gcc和gdb。
在Windows操作系统中,如果要使用gcc+gdb,可以安装MinGW(Minimalist GNU for Windows)、MSYS2或Cygwin,也可以直接安装和使用微软的WSL(Windows Subsystem for Linux)。
在Windows下如果想使用更多的Linux功能,推荐安装WSL;如果仅仅是做C/C++编程,推荐使用MSYS2。
2.1 安装MSYS2
MSYS2是Windows系统中的软件发布和构建平台,它是一组工具集和库,为您提供一个易于使用的,用于编译、安装和运行Windows软件的环境,其官网地址为:https://www.msys2.org/
MSYS2包含了一个名为mintty的命令行终端,bash,版本控制系统(git or subversion),常用命令工具(tar, awk, autotools等),这些都是在Cygwin的基础上修改而来。尽管MSYS2的一些核心部分是基于Cygwin的,但是跟Cygwin还是有很大的差异,MSYS2目标是为开发者提供一个构建Windows native软件的环境,并且确保提供的工具软件(GCC, mingw-w64, CPython, CMake, Meson, OpenSSL, FFmpeg, Rust, Ruby等)及时更新。
MSYS2提供了一个名字为pacman的软件包管理系统,用于安装和更新软件包。pacman具备很强大的功能,比如自动解决包依赖,简单完整的系统升级等。pacman使用的软件包存储库中包含超过2600个可用的安装包。
从官网下载MSYS2,在安装向导的指引下完成安装。
MSYS2安装界面
MSYS2安装完成后,其对应的运行界面如下图:
MSYS2运行界面
2.2 安装gcc
MSYS2安装完成后,默认不含gcc和gdb,可以通过pacman来安装他们,执行pacman -S mingw-w64-ucrt-x86_64-gcc命令,来安装gcc。
$ pacman -S mingw-w64-ucrt-x86_64-gcc
运行gcc --version命令查看gcc版本,并确认gcc安装成功:
查看gcc版本
2.3 安装gdb
执行pacman -S gdb命令来安装gdb
$ pacman -S gdb
运行gdb --version命令查看gdb版本,并确认gdb安装成功:
查看gdb版本
至此,包含编辑、编译和链接、调试的开发环境准备完毕。