首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >MSVC,VC++ 运行时库,msvcp140.dll,msvcp120.dll等报错

MSVC,VC++ 运行时库,msvcp140.dll,msvcp120.dll等报错

原创
作者头像
小焱
发布2025-10-14 08:40:20
发布2025-10-14 08:40:20
4410
举报
文章被收录于专栏:软件安装软件安装

如果是要解决问题请看这篇,想了解原理的继续下面看

vc++运行库去哪里下载安装最稳妥?

MSVC在Windows下编译c/c++

运行时库:支持程序运行的基本函数的集合,一般是静态库lib或动态库dll。

而SVC,就是第三方C运行时库:由微软开发的VC运行时库,被Visual Studio IDE所集成。所以我们使用VS时会附带MSVC编译器。

Microsoft Visual C++ 是微软开发的一套集成开发环境(IDE),用于开发 C、C++ 以及 C++/CLI 等语言编写的程序。而 msvcp140.dll 等这类 DLL(Dynamic-Link Library,动态链接库)文件,和 Microsoft Visual C++ 存在紧密的联系,具体表现如下:

想了解c++程序请看这篇

带你了解C++应用程序是什么?

作为运行库组件

Microsoft Visual C++ Redistributable 是一套 Visual C++ 运行库,它包含了使用 Microsoft Visual C++ 开发的应用程序在运行时所需要的库文件,像 msvcp140.dll 就是其中一个重要的组成部分。msvcp140.dll 主要提供了 C++ 标准库相关的功能,例如字符串处理、容器操作(如 std::vector、std::map 等)、输入输出流操作(std::cout、std::cin )等。

当开发人员使用 Microsoft Visual C++ 开发应用程序时,如果在代码中调用了 C++ 标准库的函数或类,在编译时,编译器并不会把这些标准库的代码直接嵌入到可执行文件中,而是在运行时去加载相应的 DLL 文件来获取功能支持。因此,当用户在计算机上运行使用 Visual C++ 开发且依赖了相关标准库功能的程序时,系统需要找到并加载像 msvcp140.dll 这样的 DLL 文件,程序才能正常执行。

对应不同版本

msvcp 后面的数字通常代表了与 Visual C++ 版本的对应关系。例如,msvcp140.dll 对应 Microsoft Visual C++ 2015 Redistributable 。不同版本的 Visual C++ 开发出来的程序,可能依赖不同版本的 DLL 文件,比如 msvcp100.dll 对应 Microsoft Visual C++ 2010 Redistributable,msvcp120.dll 对应 Microsoft Visual C++ 2013 Redistributable 等。

如果计算机上没有安装相应版本的 Microsoft Visual C++ Redistributable,或者安装的版本不完整,导致缺少像 msvcp140.dll 这样的关键 DLL 文件,那么运行依赖它的程序时,就会弹出找不到 msvcp140.dll 等类似的错误提示,程序无法正常启动 。

核心组件

MSVC的核心价值在于为开发者提供“一站式C/C++开发解决方案”,其组件覆盖从代码编写到最终部署的全流程,主要包括以下核心部分:

组件类别

核心工具/功能

作用说明

编译器

cl.exe(C/C++编译器)

将C/C++源代码(.c/.cpp)编译为目标文件(.obj),支持C89/C99/C11、C++11至C++23标准。

链接器

link.exe(链接器)

将多个目标文件、静态库(.lib)、动态库(.dll)链接为最终可执行文件(.exe)或库文件。

调试器

Visual Studio Debugger

提供断点调试、内存查看、调用栈分析、多线程调试等功能,支持本地/远程调试。

标准库

Microsoft STL(MSVC STL)

实现C++标准模板库(STL),包含容器(vector、map)、算法、迭代器等,兼顾兼容性与性能。

辅助工具

代码分析器、性能探查器、资源编辑器、CMake集成

优化代码质量(如检测内存泄漏)、分析程序性能瓶颈、编辑Windows资源(图标、对话框)等。

关键版本

MSVC的版本通常与Visual Studio版本同步(如Visual Studio 2022对应MSVC 19.30+),其演进核心围绕“标准兼容性提升”“性能优化”和“平台扩展”展开,以下是几个里程碑版本:

Visual Studio版本

对应MSVC版本(内部版本号)

核心特性亮点

Visual Studio 2015

MSVC 14.0(19.0)

首次全面支持C++11标准,引入对Windows 10 UWP应用开发的支持,集成CMake 3.4+。

Visual Studio 2017

MSVC 14.1(19.1)

完善C++17支持(如std::string_view、并行算法),新增“Clang/C2”混合编译器模式。

Visual Studio 2019

MSVC 14.2(19.2)

全面支持C++20核心特性(如概念concepts、范围ranges),优化编译速度(提升20%+)。

Visual Studio 2022

MSVC 14.3(19.3)

原生支持64位IDE,完成C++20标准全覆盖,新增C++23预览特性,强化对游戏开发(如DirectX 12)的支持。

注:MSVC版本号通常有两种标识方式:“产品版本”(如14.3)和“内部编译版本”(如19.30),后者在编译日志或编译器输出中更常见。

三、常见概念辨析:MSVC与“运行时库”“ redistributable”

很多用户在安装软件时会遇到“Microsoft Visual C++ Redistributable”(简称VC++运行时库),这与MSVC开发工具本身是两个不同概念,需明确区分:

概念

作用对象

核心功能

常见文件/形式

MSVC开发工具集

开发者

用于编写、编译、调试C/C++代码,生成可执行文件或库(开发阶段使用)。

Visual Studio IDE、cl.exe

VC++运行时库

最终用户

是MSVC编译的程序运行时必需的“依赖库”(包含printf、new等底层函数实现)。

msvcp140.dll、vcruntime140.dll

VC++ Redistributable

最终用户

运行时库的“安装包”,用于在用户电脑上部署依赖(避免程序因缺少库而报错)。

vc_redist_x86.exe(32位)、vc_redist_x64.exe(64位)

为什么需要运行时库?

  • 开发者用MSVC编译程序时,可选择“静态链接”或“动态链接”运行时库:
  • 静态链接:将运行时库代码直接嵌入到.exe文件中,程序体积变大,但无需用户额外安装运行时。
  • 动态链接:程序运行时从系统中加载msvcp140.dll等动态库,程序体积小,但用户必须安装对应版本的VC++ Redistributable。

MSVC应用场景

MSVC因对Windows API的深度支持和高性能编译能力,成为以下领域的首选开发工具:

  1. Windows桌面应用开发 开发基于MFC(Microsoft Foundation Classes)、Win32 API的桌面软件(如办公软件、工具类应用),直接调用Windows系统接口,兼容性最佳。
  2. 游戏引擎与游戏开发 主流游戏引擎(如Unreal Engine、Unity的Windows版本)均基于MSVC编译,支持DirectX、Direct3D等图形接口。
  3. 系统级开发 开发Windows驱动程序(如硬件驱动、内核模块)、服务器后台服务,需依赖MSVC对Windows内核API的支持。
  4. 高性能计算与科学计算 支持OpenMP并行编程、AVX/AVX2指令集优化,可编译计算密集型程序(如数值模拟、数据分析工具),利用CPU性能。

Visual C++ 运行库安装

如果不确定缺哪个版本(比如玩老游戏经常要装一堆),可以找 “VC 运行库合集”(比如网上常见的 “VCRedistPack”),一次性打包了从 2005 到 2022 的主流版本。

具体看这篇文章

vc++运行库去哪里下载安装最稳妥?

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 如果是要解决问题请看这篇,想了解原理的继续下面看
    • 作为运行库组件
    • 对应不同版本
  • 核心组件
  • 关键版本
  • 三、常见概念辨析:MSVC与“运行时库”“ redistributable”
    • 为什么需要运行时库?
  • MSVC应用场景
  • Visual C++ 运行库安装
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档