Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

vc142 and 2019 redistributable package comparison with vc141

Is there a reason (I guess yes but I try to discover it) to install 2019 redistributable when deploying a C++ application built with vc142 since applications seems to work perfectly with the previous redistributable package (coming with vc141)? I have in mind that both are binary compatible, but more than that, dumpbin /exports of msvcp140.dll and vcruntime140.dll from 2017 and 2019 redistributable produce the same output; file size are identical too.

Did I miss something?

like image 528
Guillaume Paris Avatar asked Oct 28 '22 11:10

Guillaume Paris


1 Answers

Apparently there is no gotcha, the libraries are comptible, see : https://learn.microsoft.com/en-us/cpp/porting/binary-compat-2015-2017?view=vs-2019

The article states: "This reflects the fact that both the runtime libraries and the applications compiled with either version of the compiler are binary compatible."

Maybe there are performance related differences.

As vs 2019 supports later c++ standard than 2017, this leaves one to wonder how this is possible with the old runtime libraries. I guess the differences are all built into the main executable/dll and don't require any changes in the runtime dlls.

like image 165
Sami Sallinen Avatar answered Nov 02 '22 12:11

Sami Sallinen