UCRT: VC 2015 Universal CRT, by Microsoft
https://blogs.msdn.microsoft.com/vcblog/2015/03/03/introducing-the-universal-crt/
App local UCRT DLLs: C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86
经Liigo本人测试,VC2015非静态链接C运行库(/MD)编译的EXE/DLL,在XP SP3系统内,除了依赖以上目录内的(几乎)所有dll以外,还额外依赖vcruntime140.dll。前面提到的这些dll,共计42个,统统放到EXE/DLL所在目录,可确保所有依赖项都不欠缺。这42个dll文件分别是(行首是字节数):
18,624 api-ms-win-core-console-l1-1-0.dll
17,600 api-ms-win-core-datetime-l1-1-0.dll
17,600 api-ms-win-core-debug-l1-1-0.dll
18,104 api-ms-win-core-errorhandling-l1-1-0.dll
21,696 api-ms-win-core-file-l1-1-0.dll
18,112 api-ms-win-core-file-l1-2-0.dll
18,112 api-ms-win-core-file-l2-1-0.dll
18,112 api-ms-win-core-handle-l1-1-0.dll
18,112 api-ms-win-core-heap-l1-1-0.dll
18,104 api-ms-win-core-interlocked-l1-1-0.dll
18,624 api-ms-win-core-libraryloader-l1-1-0.dll
20,672 api-ms-win-core-localization-l1-2-0.dll
18,624 api-ms-win-core-memory-l1-1-0.dll
18,112 api-ms-win-core-namedpipe-l1-1-0.dll
19,136 api-ms-win-core-processenvironment-l1-1-0.dll
20,160 api-ms-win-core-processthreads-l1-1-0.dll
18,624 api-ms-win-core-processthreads-l1-1-1.dll
17,600 api-ms-win-core-profile-l1-1-0.dll
17,600 api-ms-win-core-rtlsupport-l1-1-0.dll
18,112 api-ms-win-core-string-l1-1-0.dll
20,160 api-ms-win-core-synch-l1-1-0.dll
18,624 api-ms-win-core-synch-l1-2-0.dll
19,136 api-ms-win-core-sysinfo-l1-1-0.dll
18,112 api-ms-win-core-timezone-l1-1-0.dll
18,112 api-ms-win-core-util-l1-1-0.dll
19,136 api-ms-win-crt-conio-l1-1-0.dll
22,208 api-ms-win-crt-convert-l1-1-0.dll
18,624 api-ms-win-crt-environment-l1-1-0.dll
20,160 api-ms-win-crt-filesystem-l1-1-0.dll
18,624 api-ms-win-crt-heap-l1-1-0.dll
18,624 api-ms-win-crt-locale-l1-1-0.dll
28,864 api-ms-win-crt-math-l1-1-0.dll
25,792 api-ms-win-crt-multibyte-l1-1-0.dll
72,896 api-ms-win-crt-private-l1-1-0.dll
19,136 api-ms-win-crt-process-l1-1-0.dll
22,720 api-ms-win-crt-runtime-l1-1-0.dll
24,256 api-ms-win-crt-stdio-l1-1-0.dll
24,256 api-ms-win-crt-string-l1-1-0.dll
20,672 api-ms-win-crt-time-l1-1-0.dll
18,624 api-ms-win-crt-utility-l1-1-0.dll
917,184 ucrtbase.dll
85,328 vcruntime140.dll
Windows Kits 10可通过VC2015安装包安装,vcruntime140.dll文件可从安装过vc_redist.x86.exe for vc2015的系统System32目录中提取。见附件vc2015-rtl-x86.7z。64位的另外一套,但文件名称是一致的。
把这么一大堆dll放到应用程序目录也挺尴尬的(放入单独的\bin子目录可有所缓解)。微软推荐的方法是额外安装vc_redist.exe(却也是麻烦了一步)。很多开发者还是希望把单个dll运行库(如msvcrt.dll)放到应用目录的,方便部署。这个死微软佬,到了VC2015,非要把运行库拆分出几十个dll(其实合起来才几百KB [注1]),一开始甚至是拒绝提供App Local DLLs的,被抗议太多了才被迫妥协(详见上文链接)。观望VC2016(即VC15)的策略。
注1: 非压缩版1.75MB,zip压缩后911KB,7zip压缩后435KB。
VC 2015静态链接C运行库(/MT)编译的EXE/DLL,运行时不依赖任何C运行库。微软似乎并不太愿意推荐这种编译方式。
UCRT: VC 2015 Universal CRT, by Microsoft的更多相关文章
- vs2015部署---下一代VC运行时库系统:the Universal CRT
前言 其实the Universal CRT(通用C运行时库)已经不能算是“下一代”,因为它已经在前两年伴随着Visual Studio 2015和Windows10发布.但是由于之前使用VS2015 ...
- TortoiseSVN 安装时出现 please install the universal crt
解决步骤: 1.打开 https://www.microsoft.com/zh-cn/ 2.搜索 universal crt (hotfix kb2999226) 3.点击链接 4.选择适合自己的版本 ...
- 安装 TortoiseSVN 时提示 please install the universal crt first
win7x64 解决办法 去https://www.microsoft.com/zh-cn/搜索 universal crt (hotfix kb2999226)点击下图链接 也就是https://s ...
- 安装VC++2015运行库时出现0x80240037错误
很多时候,当我们将开发好的软件部署到用户的机器上时总会出现各种意想不到的错误,最近在一台原版Windows7系统的电脑上安装VC++运行库的时候,莫名的出现安装失败,然后错误代码为:0x8024003 ...
- openssl unicode编译以及VC++2015环境下的问题
这几天需要使用openssl,前期本机上保存的目录不知道哪天整理的时候删除了,索性下载最新的自己编译一下: 在最新版的openssl(openssl-1.0.2e),编译过程中出现了很多问题,这里主要 ...
- 【Inno Setup】查看是否安装了VC++ 2015 Redistributeable
可能有必要先测一下注册表的这一项是否存在 if RegValueExists(HKLM, 'SOFTWARE\WOW6432Node\Microsoft\VisualStudio\14.0\VC\Ru ...
- 微软的技术态度 -- 从其对于CRT的设计考虑说起(Thought on the CRT - What Microsoft Prefers)
很多人从C语言学习过来的人都知道,在编写程序时用到的像printf这样的函数,是作为该语言标准库函数提供的,这也是C语言标准中规定的内容.因此,操作系统必须对其保持一定程度上的透明,也就是说,作为一个 ...
- visual studio 2015 安装MSDN全称Microsoft Developer Network 安装离线的MSDN
MSDN: 微软向开发人员提供的一套帮助系统,其中包含大量的开发文档,技术文章和示例代码. 这里介绍了vs2015 装离线的MSDN(说明一点是,如果不行,说明你的文件有缺陷,没安装好,之前我用vs2 ...
- pycrypto安装出错的问题 intmax_t C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.
前言: 需要安装 Microsoft Visual Studio2017 Community 或者buildtools 解决方案一(解决了python3.7上安装pycrypto-2.6.1的错误问题 ...
随机推荐
- B-树 动机与结构
Ps.我们遵循从感性到理性的认知顺序来逐步探索B-树的奥秘,之前经常说的value这里用key(关键码)指代,因为可能存的是字符串,说是value就不合适了. (多图预警!!!建议在WI-FI下观看) ...
- UOJ #2321. 「清华集训 2017」无限之环
首先裂点表示四个方向 一条边上都有插头或者都不有插头,相当于满足流量平衡 最大流 = 插头个数*2时有解 然后求最小费用最大流 黑白染色分别连原点汇点
- nodejs基础1
nodejs学习网站: https://github.com/alsotang/node-lessons 1.全局对象 (1)node中没有window对象,有global对象替代window对象 g ...
- 《Cracking the Coding Interview》——第17章:普通题——题目3
2014-04-28 22:18 题目:计算N的阶乘尾巴上有多少个零? 解法:计算5的个数即可,因为2 * 5 = 10,2的个数肯定比5多.计算5的个数可以在对数时间内搞定. 代码: // 17.3 ...
- 【Lowest Common Ancestor of a Binary Search Tree】cpp
题目: Given a binary search tree (BST), find the lowest common ancestor (LCA) of two given nodes in th ...
- 关于JavaScript设计模式的学习(二)
第二部分来了,是关于结构型的,同样的,还是在简书中,GitHub上也有代码示例和详细注释 简书:http://www.jianshu.com/p/face1be4b846 github:https:/ ...
- Python urllib模块详解
在Python 2中,有urllib和urllib2两个库来实现请求的发送.而在Python 3中,已经不存在urllib2这个库了,统一为urllib,其官方文档链接为:https://docs.p ...
- python 学习分享-实战篇类 Fabric 主机管理程序开发
# 类 Fabric 主机管理程序开发: # 1. 运行程序列出主机组或者主机列表 # 2. 选择指定主机或主机组 # 3. 选择让主机或者主机组执行命令或者向其传输文件(上传/下载) # 4. 充分 ...
- NOIP2018 集训(三)
A题 Tree 问题描述 给定一颗 \(n\) 个点的树,树边带权,试求一个排列 \(P\) ,使下式的值最大 \[\sum_{i=1}^{n-1} maxflow(P_i, P_{i+1}) \] ...
- Linux再谈互斥锁与条件变量
原文地址:http://blog.chinaunix.net/uid-27164517-id-3282242.html pthread_cond_wait总和一个互斥锁结合使用.在调用pthread_ ...