MSVC使用指南

1476 字
7 分钟
MSVC使用指南

0.引入#

关于C语言程序的编写,想必大都是这样开始的吧。第1步,下载一个IDE,例如Dev-C++、Code::Blocks(反正我入门的时候就是用这两个);第2步,新建一个项目;第3步,把代码写进去;第4步,点一下按钮构建和运行。这一套流程下来,C语言的语法肯定可以过关了。到后来我用上了Visual Studio,本质也差不多,只是比之前那些感觉更复杂。

直到有一天我尝试在Linux上写C语言程序,才感受到差异。那台Linux电脑上只有一个VS code,我以为如往常一样进入,但是死活找不到构建按钮,去查了一下才知道,要使用指令

Terminal window
gcc xxx.c

这里的gcc就是C语言的编译器。

那么Windows有没有自己的gcc呢?答案是肯定的,否则那些IDE如何把C语言代码变成程序呢?其中Dev-C++和Code::Blocks用的是mingw64,也就是gcc工具在Windows上的移植版。既然是“移植版”,这就说明Windows有自己的C语言编译工具原住民,它就是MSVC(Microsoft Visual C++),Visual Sutdio就是使用MSVC进行C语言编译的。而gcc所属的工具链叫做GNU,一般是Linux家族所用的编译器(除了gcc/GNU,Linux也可以用clang/LLVM编译器套件)。

总结:

工具套件名称常用命令行程序归属厂商 / 项目
GCCgcc / g++GNU 项目
Clang(LLVM)clang / clang++LLVM 基金会
MSVCcl.exe微软

1.MSVC介绍#

MSVC(全拼Microsoft Visual C++,简称Visual C++、VC)是微软公司开发的C/C++开发工具。和它的同行们GCC、Clang (LLVM)比较,MSVC原生只能在Windows上运行。它遵循C/C++的官方标准,但同时也有自身专属语法、关键字、规则等,自带C/C++标准库实现,原生支持Windows SDK,是Windows软件开发的主流工具。

2.MSVC下载#

在介绍如何下载MSVC之前,让我们先观察其他工具在Windows上是如何下载安装的。市面上绝大多数工具,包括但不限于Java(jdk)、python、.NET、mingw64(gcc的Windows移植),核心的方法就两种:1.下载exe或msi安装包,跟随向导程序完成安装;2.下载zip或其他格式的压缩包,解压后添加到环境变量PATH后直接使用。我个人倾向后者,可以做到精细控制。但是MSVC的下载安装非常特殊,官方给出的唯一下载安装方式是通过Visual Studio Installer进行,不支持压缩包下载。

为什么微软不做一个压缩包呢?核心问题在于MSVC非常庞大,依赖和组件繁多,工具集版本、SDK版本、库版本之间必须严格匹配,否则极易产生诡异的报错,且MSVC存在系统注册、路径依赖感知,和系统耦合极高,压缩包式的便携移动极易产生隐形bug。相反,刚才提到的其他工具Java、python、.NET、mingw64,它们从一开始设计就是逻辑就是尽量做成一个独立程序,因此在移植和依赖问题上问题更少。

虽然没有压缩包,但是微软给了一个离线部署选项,使用以下命令行即可完成。

Terminal window
vs_BuildTools.exe --layout D:\MSVC_Offline --add Microsoft.VisualStudio.Workload.VCTools

但我个人还是选择和Visual Studio一起安装,因为Visual Studio+MSVC生态非常完善,PDB 符号支持、实时调试、内存泄漏检测、地址 sanitizer、性能探查器、图形调试(DirectX)、WinDbg等体验更好。

步骤1:从官网下载VisualStudioSetup.exe;

步骤2:运行VisualStudioSetup.exe,安装Visual Studio Installer;

步骤3:打开Visual Studio Installer,选择安装Visual Studio(本文全部选择2022);

步骤4:在“工作负荷”中选择“适用C++的桌面应用开发”,这会安装MSVC和其依赖的其他组件。

3.MSVC使用#

在安装结束之后,打开开始菜单,我们会发现在“Visual Studio”目录下出现了这些内容:

x64 Native Tools Command Prompt for VS 2022

x64_x86 Cross Tools Command Prompt for VS 2022

x86 Native Tools Command Prompt for VS 2022

x86_x64 Cross Tools Command Prompt for VS 2022

Debuggable Package Manager

Developer Command Prompt for VS 2022

Developer PowerShell for VS 2022

这些全部都是命令行环境,如何识别它们的意思呢?

1.x86=32位,x64=64位;

2.Native=本机编译,工具架构和最终生成程序架构一致;Cross=交叉编译,在当前系统上编译另一种架构的程序;

3.现代的Windows一般是x64架构,兼容x86。

最常用的就是x64 Native Tools Command Prompt for VS 2022,64位工具编译64位程序;

x64_x86 Cross Tools Command Prompt for VS 2022则是64位工具编译32位程序,为了兼容老旧设备可能使用;

x86 Native Tools Command Prompt for VS 2022是32位工具编译32位程序,现在使用极少;

x86_x64 Cross Tools Command Prompt for VS 2022是32位工具编译64位程序,几乎不使用;

Developer Command Prompt for VS 2022是通用开发环境,默认x86(32位)工具链;

Developer PowerShell for VS 2022和Developer Command Prompt for VS 2022完全一致,只是在Power Shell中套壳;

Debuggable Package Manager用于 MSIX/UWP 应用包管理(Windows 商店应用),普通开发基本用不上。

综上,直接使用x64 Native Tools Command Prompt for VS 2022即可

4.一个例子#

到此,MSVC环境配置完毕,可以试着写一个简单程序 test.cpp

#include <stdio.h>
int main()
{
printf("Ciallo~ MSVC!");
return 0;
}

然后打开x64 Native Tools Command Prompt for VS 2022

Terminal window
cd C:\path\to\your\project
cl test.cpp

于是生成了test.obj和test.exe,运行test.exe,输出Ciallo~ MSVC!

5.本文结束#

本文介绍了MSVC的安装和使用方法,提供了一条脱离IDE按钮构建的命令行直接和编译器交互的程序编译方式。MSVC的配套工具种类繁多复杂,不是一篇文章可以全部讲述清楚的,后续会更新和补充更多其他工具的具体用法。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
MSVC使用指南
https://blog.maszr.xyz/posts/windows/msvc/
作者
发布于
2026-07-27
许可协议
CC BY-NC-SA 4.0

评论区

主人的头像

主人

创作者,服务器运维

咕咕嘎嘎

YuzuEmpty的头像

YuzuEmpty

共同创作者

私のオナニーを見てください

Code::Blogs 公告
欢迎来到Code::Blogs,这里记录两位编者共同完成的技术、生活与创作。
音乐
封面

音乐

暂未播放

0:000:00
暂无歌词
分类
标签
最新动态
站点统计
文章
4
动态
1
分类
2
标签
9
总字数
6,919
运行时长
0
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.14.3
文章许可
CC BY-NC-SA 4.0