They actually did end up fixing this with Windows 10. https://learn.microsoft.com/en-us/cpp/windows/universal-crt-... I think what finally pushed them in that direction was wanting to be in control of security updates for libc.
> Linux follows the Windows model, where the stable interface is the kernel (Linux's syscalls, Windows's ntdll).
ntdll isn't stable. They remove entypoints with just about every major release.
I haven't done low-level Windows programming since before the 64-bit transition, but I thought they kept the model of a DLL wrapper with a stable ABI.
They actually did end up fixing this with Windows 10. https://learn.microsoft.com/en-us/cpp/windows/universal-crt-... I think what finally pushed them in that direction was wanting to be in control of security updates for libc.
> Linux follows the Windows model, where the stable interface is the kernel (Linux's syscalls, Windows's ntdll).
ntdll isn't stable. They remove entypoints with just about every major release.