IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> ucrt-通用CRT部署 -> 正文阅读

[开发工具]ucrt-通用CRT部署

从 Visual Studio .NET 到 Visual Studio 2013,C++ 编译器和工具的每个主版本都包含一个新的独立版本的 Microsoft C 运行 (CRT) 库。 CRT 的这些独立版本彼此独立,并在不同程度上彼此不兼容。 例如,Visual Studio 2012 使用的 CRT 库是第 11 版,名为 msvcr110.dll,而 Visual Studio 2013 使用的 CRT 是第 12 版,名为 msvcr120.dll。 从 2015 Visual Studio开始,情况不再如此。 Visual Studio 2015 及更高版本的 Visual Studio 都使用一个通用 CRT。

通用 CRT (UCRT,Universal CRT) 是 Microsoft Windows 操作系统组件。 它作为操作系统的一部分包含在 Windows 10 或更高版本中,Windows Server 2016或更高版本。 UCRT 在仍处于外延Windows操作系统上使用更新。 支持通用 CRT 的本地部署,但具有一些限制。

集中部署

集中安装通用 CRT 的首选方法是使用 Microsoft Windows 更新。 通用 CRT 是所有支持的 Microsoft Windows 操作系统的推荐更新,所以默认情况下,大多数计算机在常规更新过程中都会安装它。 通用 CRT 的初始版本为?KB2999226。?KB3118401?中进行了各种 bug 修复的稍后更新,并进行了更多更新,进一步修复了 bug 并新增了功能。 有关最新更新,请搜索?support.microsoft.com?"通用 C 运行时"或"通用 CRT"。

并非所有 Microsoft Windows 计算机都使用 Windows 更新定期安装更新,有些计算机可能不会安装所有推荐的更新。 为了支持使用这些计算机上使用 Visual Studio 2015 及更高版本的 C++ 工具集构建的应用程序,可以使用通用 CRT 可再发行文件进行脱机分发。 可以从上述知识库链接之一下载这些可再发行文件。 通用 CRT 可再发行组件要求计算机已更新为当前服务包。 举个例子,Windows 7 的可再发行组件仅安装到 Windows 7 SP1 上,而不会安装到 Windows 7 RTM 上。

通用 CRT 是 C++ 库的基本依赖项。 VISUAL C++ 可再发行程序包 (VCRedist,Visual C++ Redistributable) 在尚未安装通用 CRT (版本 10.0.10240) 的计算机上安装初始版本。 此版本足以满足 C++ 库依赖项。 如果应用程序依赖于最新版本的通用 CRT,则必须使用 Windows 更新使计算机完全更新。 或者,显式安装该版本的 UCRT。 在安装 VCRedist 之前,最好使用 Windows Update 或 MSU 来安装通用 C 运行时。 此安装顺序可帮助避免多次所需的重启。

并非所有操作系统都有资格通过 Windows 更新使用最新的通用 C 运行时。 在Windows 10或Windows 11,集中部署的版本与操作系统的版本匹配。 若要进一步更新通用 C 运行时,必须更新操作系统。 对于Windows Vista Windows 8.1,最新的通用 C 运行时基于 Windows 10 周年更新 (版本 10.0.14393) 。

本地部署

支持通用 CRT 的本地部署(但由于性能和安全原因不推荐)。 本地部署的 DLL 作为 Windows SDK?Windows Kits\10\Redist\ucrt\DLLs?的一部分包含在子目录中,由计算机体系结构提供。 所需的 DLL 包括 和?ucrtbase.dll?一组名为 的 APISet 转发器 DLL?api-ms-win-*.dll。 每个操作系统上所需的 DLL 集各不相同。 强烈建议在本地部署时包括所有 DLL。

本地部署有两个需要注意的限制:

  • 在Windows 10和Windows 11,始终使用系统目录中的通用 CRT,即使应用程序包含通用 CRT 的应用程序本地副本。 即使本地副本较新,也是如此,因为通用 CRT 是 Windows 10 及更高版本上的核心操作系统组件。

  • 版本Windows之前Windows 8:如果通用 CRT 位于主应用可执行目录外的任何位置,则不能使用插件在本地打包。 在这种情况下,APISet 转发器?ucrtbase.dll?DLL 无法成功解析 。 以下为建议的替代解决方案:

    • 静态链接通用 CRT,
    • 集中部署通用 CRT,或
    • 将通用 CRT 文件放在与应用相同的目录中。

Microsoft Windows XP 上的部署

Visual Studio 2015 Visual Studio 2017 工具集继续支持开发用于 Microsoft Windows XP 的软件。 有一个版本的适用于 Microsoft Windows XP 的通用 CRT。 Microsoft Windows XP 操作系统不再受主流或外延支持。 因此,将通用 CRT 集中部署到 Microsoft Windows XP 不同于其他操作系统。

在 Visual C++ 可再发行程序包 XP 上安装 Windows 时,它将通用 CRT 及其所有依赖项直接安装到系统目录中。 它不会安装或依赖于任何更新Windows更新。 可再发行组件合并模块(?Microsoft_VC<version>_CRT_<target>.msm?即文件)也执行相同的操作。

Windows XP 上通用 CRT 的本地部署与其他支持的操作系统相同。

?重要

对 Windows XP 的运行时库支持在最新的 Visual C++ Redistributable for Visual Studio 2015、2017、2019 和 2022 中不再可用。 支持 Windows XP 的最后一个可再发行组件是版本 16.7 (文件版本 14.27.29114.0) 。 如果使用更高版本的可再发行程序包部署 Windows XP 应用或应用更新到更高版本的可再发行程序包,应用则不会运行。 有关详细信息以及如何获取支持 Windows XP 的可再发行组件版本,请参阅为 Windows XP 配置程序

The main categories of UCRT library routines are:

Argument Access
Buffer Manipulation
Byte Classification
Character Classification
Complex math support
Data Alignment
Data Conversion
Debug Routines
Directory Control
Error Handling
Exception Handling Routines
File Handling

Floating-Point Support
Input and Output
Internationalization
Memory Allocation
Process and Environment Control
Robustness
Run-Time Error Checking
Searching and Sorting
String Manipulation
System Calls
Time Management

翻译

UCRT 库例程的主要类别是:

参数访问
缓冲区操作
字节分类
字符分类
复杂数学支持
数据对齐
数据转换
调试例程
目录控件
错误处理
异常处理例程
文件处理

浮点支持
输入和输出
国际化
内存分配
进程和环境控制
鲁棒性
运行时错误检查
搜索和排序
字符串操作
系统调用
时间管理

参考:Universal C runtime routines by category | Microsoft Docs

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-03-30 18:46:03  更:2022-03-30 18:47:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 4:35:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码