I was reading in MSDN ( here ) about the different CRT libraries in Windows.
According to it, msvcrt.lib
is a:
Static library for the native CRT startup for use with DLL UCRT and vcruntime.
while ucrt.lib
is a:
DLL import library for the UCRT.
This is why ucrt.lib
have an associated vcrtbase.dll
dll, but for my understanding of the reference there is no associated dll for msvcrt
. Yet, I can see there is a msvcrt.dll
out there, and that its loaded into applications.
So my question is simple, why a static library needs a dll? maybe its because msvcrt.dll
is actually the same as msvcrt.lib
but in a dynamic form? If so, why ucrtbase.dll
is needed? (maybe performance over the outdated msvcrt
?)
Thanks for any insight that dissolve this mist.