在部署使用 vc142 构建的C ++应用程序时,是否有理由(我想是的,但我尝试发现它)安装2019可再发行组件,因为应用程序似乎可以与以前的可再发行组件包完美配合(即将推出)与vc141)?我要记住,两者都是二进制兼容的,但更重要的是,2017年和2019年的 msvcp140.dll 和 vcruntime140.dll 的dumpbin /exports
产生了相同的结果输出;文件大小也相同。
我错过了什么吗?
答案 0 :(得分:2)
显然没有陷阱,库是可兼容的,请参见:https://docs.microsoft.com/en-us/cpp/porting/binary-compat-2015-2017?view=vs-2019
文章指出:“这反映了以下事实:运行时库和使用任一版本的编译器编译的应用程序都是二进制兼容的。”
也许与性能相关的差异。
由于vs 2019支持的2017年之后的c ++标准更高,这使人们想知道旧的运行时库如何实现这一点。我猜这些差异都内置在主要的可执行文件/ dll中,不需要在运行时dll中进行任何更改。