4 ms·
> It was in the past. At first msvcrt.dll was the runtime library used up to Visual C++ 6. At that time it was already a big mess, because at first it was the
by TonyTrapp 4y ago
> It was in the past. At first msvcrt.dll was the runtime library used up to Visual C++ 6.
At that time it was already a big mess, because at first it was the runtime library of Visual C++ 4 in fact! The gory details are here: https://devblogs.microsoft.com/oldnewthing/20140411-00/?p=1273 https://devblogs.microsoft.com/oldnewthing/20140411-00/?p=12...
> some system components still link to it
Some system components themselves are very much ancient and unmaintained and only exist for backwards compatibility as well.
- garaetjjte 4y agoAncient or not, I don't think it really matters for allocation performance: malloc in both msvcrt.dll and ucrtbase.dll after some indirection ends up calling RtlAllocateHeap in ntdll.dll
- TonyTrapp 4y agoIt does, because modern allocators do a lot of house keeping on top of the system heaps, e.g. to quickly reuse identically-sized memory chunks that were just freed.
- jasomill 4y agoFor posterity, here's a link to a version of that page with the original comments section intact: https://web.archive.org/web/20160410051513/https://blogs.msdn.microsoft.com/oldnewthing/20140411-00/?p=1273/ https://web.archive.org/web/20160410051513/https://blogs.msd...