C/C++ 开发环境
C/C++ 编译器是什么
Section titled “C/C++ 编译器是什么”是把 C/C++
编译为机器能够直接执行的可执行程序的工具。
如果对编译器本身感兴趣,参考维基百科
这里这介绍课本上经典的编译过程 (也是考试考查的)
- 预处理 (预处理器)
- 编译 (编译器)
- 汇编 (汇编器)
- 链接 (链接器)
实际上在我们口中所谓的 编译器
就是把上面四个整合在一起的完整编译器。
常见的 C/C++ 编译器
Section titled “常见的 C/C++ 编译器”- GCC (GNU Compiler Collection)
- Clang (LLVM)
- MSVC (Microsoft Visual C++)
- Tiny C Compiler (TCC)
- PCC (Portable C Compiler)
- Intel C Compiler (ICC)
GCC
、Clang
是我们在 Linux
和 macOS
上最常用的编译器。MSVC
是 Windows 上最常用的编译器,当然 GCC
和 Clang
也可以在 Windows 上使用。
编译器不是什么
Section titled “编译器不是什么”大多数初学者会认为VSCode
、VS 2022
、CLion
、Dev C++
等 IDE 就是编译器,实际上他们只是普通的文本编辑器而已,这一点在VSCode
中尤为明显,其中给你代码补全功能的也不是编译器,而是 LSP
服务器例如 clangd
、ccls
等等。
VS 2022
、Dev C++
等专门为 C/C++
设计的 IDE 集成了 C/C++
编译器,所以你可以开箱即用,但是他们本质上还是文本编辑器。而VSCode
则需要你手动安装编译器。
编译器 + IDE = 开发环境
在不同系统上安装 C 语言编译器
Section titled “在不同系统上安装 C 语言编译器”将会按照安装难度从易到难介绍,⚡ 越多表示安装难度越大。
体验指数 和 推荐指数 将会在下文给出,⭐ 越多表示体验越好。
Windows
Section titled “Windows”Dev C++
5.1
Section titled “Dev C++ 5.1”安装难度: 0 (我奶奶都会装)
体验指数:⭐
推荐指数:⭐⭐
这是一个非常老牌的 C/C++
IDE,开箱即用,没有任何复杂的插件和操作,集成了 GCC
编译器,也是蓝桥杯
转专业考试
等指定的 IDE
+ 编译器
环境。
这里推荐Dev C++
5.1 版本, 推荐教程为
知乎 - Dev C++下载安装使用教程
VS studio 2022
Section titled “VS studio 2022”安装难度:⚡⚡
体验指数:⭐⭐⭐
推荐指数:⭐⭐⭐
VS studio 2022
是微软官方的 IDE
,集成了 MSVC
编译器,功能强大,不仅仅 C/C++
还可以胜任 C#
、Python
、Fluent UI
.NET
… 等等几乎任何和 Windows
相关的开发。也是你去 B 站搜各种 C/C++
教程看到的最多的 IDE
。
对多线程调试的支持非常完整,市面上在C/C++多线程调试
方面没有任何 IDE
能够超越 VS studio
。
只有社区版是免费的,但是个人使用足够了。
推荐教程为 C 语言/C++初学——Visual Studio 环境的安装配置与使用
VSCode + GCC
/ Clang
/ MSVC
Section titled “VSCode + GCC / Clang / MSVC”安装难度: ⚡⚡⚡⚡
体验指数: ⭐⭐⭐⭐
推荐指数: ⭐⭐⭐⭐⭐
VSCode
是微软官方的轻量级 IDE
,通过安装插件可以支持几乎所有的编程语言。C/C++
方面推荐安装 C/C++
LSP插件(微软官方)或者 clangd
插件(第三方)。但是 VSCode
本身并不集成任何编译器,所以你需要手动安装 GCC
/ Clang
/ MSVC
编译器。
这里推荐的教程为VS Code 配置 C/C++ 编程运行环境
VSCode + WSL + GCC
/ Clang
Section titled “VSCode + WSL + GCC / Clang”安装难度: ⚡⚡⚡⚡⚡
体验指数: ⭐⭐⭐⭐⭐⭐
推荐指数: ⭐⭐⭐
WSL
是微软官方的 Linux
子系统,可以让你在 Windows
上运行 Linux
系统。通过 WSL2
你可以在 Windows
上使用 Linux
的各种工具和软件,甚至包括各种图形化界面,使用体验简直就和直接使用原生 Linux
几乎没有区别。
这个方案 ,既可以让你享受VScode
强大插件生态,还可以让你和Windows
文件管理和工作流无缝衔接,又可以让你使用 Linux
上的各种工具和软件,简直是 C/C++
开发的终极方案, 效率神器。
本方案安装过程较为复杂,对于WSL
的安装,或许会单独开一个篇章来介绍。TODO
这里先推荐几个个教程:
如何在WSL
上安装 GCC
/ Clang
请参考下面的 Linux 章节。
本章节仍然在维护中 TODO
本章节的难度是默认你已经安装并了解过简单的
Linux
命令
我需要在 Linux
上开发 C/C++
吗?
Section titled “我需要在 Linux 上开发 C/C++ 吗?”下面几种情况我推荐你在 Linux
上开发 C/C++
代码:
Linux
用户- 需要开发具有较多第三方库的
C/C++
复杂项目 - 能够自己探索和解决问题
下面几种情况我不推荐你在 Linux
上开发:
- 希望 开箱即用
C/C++
环境,但却没有任何现成的Linux
系统 - 只是希望学习
C/C++
应试语法 - 没有任何使用命令行操控系统的经验,并且不希望学习
Ubuntu / Debian
Section titled “Ubuntu / Debian”TODO
VScode + GCC
/ Clang
Section titled “VScode + GCC / Clang”通过 APT 安装 GCC
/ Clang
Section titled “通过 APT 安装 GCC / Clang”sudo apt updatesudo apt install build-essential # 安装GCC和G++sudo apt install clang lldb lld llvm # 安装Clang + LLVM
如何安装 VSCode
Section titled “如何安装 VSCode”这里推荐教程VSCode Linux 安装
TODO
为什么需要编译安装
Section titled “为什么需要编译安装”- 你可以自行控制你需要的组件,避免编译不要的东西
- 有些特性必须要从源码编译才有,很少存在预编译的二进制包,例如自身注入了
ASAN
的Clang
,或者说中文支持的GCC
- 在本地编译,可以针对你的
CPU
指令集进行优化,获得更好的性能参考 ,当然这是在你正确编译的情况下。
推荐教程: