6. 工具与环境导航
1. 工具分别负责什么
1.1 编译器
- GCC
- Clang
- MSVC
工具名称和工具职责是对应的
GCC、Clang 和 MSVC 提供 C 源码的翻译实现;VS Code、Vim 等编辑器负责编辑文本;IDE 可以把编辑器、构建、调试等能力组合在一个界面里。安装了编辑器,不等于已经安装并配置好 C 编译器。
1.2 编辑器与集成开发环境
别弄混代码编辑器 (Editor) 和编译器。
轻量编辑器 VS Code(Visual Studio Code,简称 VSC)是一款开源,生态丰富的编辑器,但是用它写 C 需要配环境,因此对新手有一些不友好。如果你有 Python / JavaScript / TypeScript 的开发需求,它是你的不二之选(是的,笔者认为体验优于 PyCharm 和 WebStorm)。
如果官网下载特别慢的话,复制下载链接,把链接中的
az764295.vo.msecnd.net换成vscode.cdn.azure.cn;普遍应用于 Linux 的开源编辑器 Vim;
什么是 IDE(Integrated Development Environment)
JetBrains CLion:非商业用途可以免费使用。
可以在官网或 JetBrains Toolbox App 下载
在线 IDE Lightly
Visual Studio(简称 VS)是一款极其强大和现代的 IDE,尤其适合 .Net 开发;但由于某些奇怪的设定,以及 MSVC 对 C 的支持有限(不支持某些 C99 特性,不支持绝大多数 C23 特性),VS 不适合用于初学 C 语言。
1.3 构建系统
构建系统负责描述多个源文件如何生成目标程序。CMake 和 XMake 等工具从第二部分“开发与工程基础”开始学习。
1.4 调试器
IDE 一般会集成调试器,但编辑器、编译器和调试器仍然承担不同职责。
2. 起步路线
无论选择哪种环境,开始第一章前都应完成两项检查:
- 新建
main.c,能够构建、运行并看到输出。 - 确认能够输入 C 程序常见的标点,如
#、;、"、'、{}、[]和\。
本地环境还应确认实际使用的编译器名称和版本。只安装编辑器并不等于已经具备可用工具链。
3. 自测
以下哪个工具不是编译器?