3 ms·
Dead wrong. Win32 (externally) only seems stable, but internally it changes between Windows releases. Win7 syscalls are completely different from Win11 syscalls
by rfgplk 9d ago
Dead wrong. Win32 (externally) only seems stable, but internally it changes between Windows releases. Win7 syscalls are completely different from Win11 syscalls, meaning if I want to release a binary _without relying_ on Win32 I need to provide full syscall mappings _for each and every Windows version_. This doesn't happen on Linux.
- david-gpu 9d ago>> Win32 is the most stable abi on the Linux desktop. > Dead wrong [...] if I want to release a binary _without relying_ on Win32 Then you are not using the Win32 ABI, are you?
- aseipp 9d ago> only seems stable, but internally it changes That's literally the definition of it being stable. Programs written against an interface keep working despite the implementation changing. The Linux kernel also constantly changes internally but programs written against syscalls keep working, so it is stable; that fact doesn't stop being a fact just because I dislike perf_event_open(2) or whatever. This is all very basic and easy to understand.
- usernameak 9d agoThose are not a part of the API contract in case with NT kernel, though, unlike Linux. Also, there are OS-provided shims in ntdll.dll (which, by the way, isn't a part of Win32 platform API, but a part of the NT kernel interface).