不装 Visual Studio 也能写 C/C++
在 Windows 上写 C/C++,大多数人的第一反应是装 Visual Studio。一个完整的 VS 安装动辄 20-30 GB,光是"使用 C++ 的桌面开发"工作负载就要好几个 GB。如果你只是想编译一个 .c 文件,或者学习算法刷题,这个成本未免太高了。
另一个选择是 MSVC Build Tools,虽然没有 IDE,但安装器同样庞大,而且命令行工具需要在特定的 Developer Command Prompt 中才能使用,对新手很不友好。
MinGW-w64 才是真正的轻量方案:一套完整的 GCC 工具链,解压即用,不依赖任何 IDE。
MinGW 下载页的选择困难症
理论上,去官网下载 MinGW-w64 就行了。但实际操作时你会发现:
- mingw.org 和 mingw-w64.org 是两个不同的项目。 前者只支持 32 位,早已过时,但搜索排名靠前,很容易下错。
- 架构选择: i686 还是 x86_64?现在几乎所有 Windows 电脑都是 64 位,应该选 x86_64,但页面上两个选项并排放着。
- 线程模型: posix 还是 win32?如果你要用
std::thread,必须选 posix,选错了编译会报错。 - 异常处理: seh 还是 sjlj?64 位系统应该选 seh,但这些术语对初学者毫无意义。
- 运行时库: msvcrt 还是 ucrt?ucrt 是更现代的选择,但又多了一个决策点。
一个初学者想编译 Hello World,却要先搞懂四个技术选型。更别提从 SourceForge 下载速度感人,经常中断。
一条命令,跳过所有选择
hudo 把这些决策都替你做好了:
hudo install c执行过程:
- 自动下载最新的 winlibs GCC 构建(x86_64 + posix + seh + ucrt)
- 解压到
X:\hudo\tools\mingw64\ - 将
mingw64\bin\写入用户 PATH 环境变量
不需要选架构,不需要选线程模型,不需要从 SourceForge 龟速下载。
验证安装
重新打开终端,运行:
gcc --version
g++ --version看到 GCC 版本号输出即安装成功。gcc、g++、gdb、make 等工具都可以直接使用。
快速测试编译:
echo #include ^<stdio.h^> > hello.c && echo int main(){printf("Hello\n");return 0;} >> hello.c
gcc hello.c -o hello.exe && hello.exe搭配 VS Code 使用
MinGW 提供编译器,VS Code 提供编辑体验,两者搭配是 Windows 上最轻量的 C/C++ 开发方案。
- 安装 VS Code(也可以通过
hudo install vscode) - 在 VS Code 中安装 C/C++ 扩展(微软官方,扩展 ID:
ms-vscode.cpptools) - 打开你的项目文件夹,创建
.vscode/tasks.json:
{
"version": "2.0.0",
"tasks": [
{
"label": "gcc build",
"type": "shell",
"command": "gcc",
"args": ["-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}.exe"],
"group": { "kind": "build", "isDefault": true }
}
]
}之后按 Ctrl+Shift+B 即可编译当前文件。配合 C/C++ 扩展的调试功能,可以直接在 VS Code 里设断点、单步调试。
为什么 hudo 选择 winlibs 构建
市面上有多种 MinGW-w64 发行版:MSYS2 自带的、Cygwin 的、以及 winlibs 的独立构建。hudo 选择 winlibs 是因为:
- 版本最新: winlibs 紧跟 GCC 上游发布,通常在 GCC 新版本发布后很快提供构建。
- 完全独立: 不依赖 MSYS2 或任何外部运行时,解压就能用。
- 包含完整工具链: GCC、G++、GDB、MinGW-w64 运行时、binutils 一应俱全。
这意味着你不需要先装 MSYS2 再在里面 pacman -S mingw-w64-x86_64-gcc,省去了一层包管理器的复杂度。
总结
Windows 上写 C/C++ 不一定要装 Visual Studio。MinGW-w64 提供了完整的 GCC 工具链,配合 VS Code 就是一套轻量高效的开发环境。唯一的门槛是下载和配置过程繁琐,而 hudo install c 把这个门槛降到了零:自动选择正确的版本、自动下载、自动配好环境变量,打开终端就能编译。
还没安装 hudo?一条命令即可:
irm hudo.zexa.cc/install.ps1 | iex