4 ms·
I am no expert but recently I found out that windows syscalls are a complete mistery. They're almost never mentioned in the official docs and with each update t
by rice7th 3y ago
I am no expert but recently I found out that windows syscalls are a complete mistery. They're almost never mentioned in the official docs and with each update they can shift their position. I've found out a reverse engineered version online but they only got the name and the number of parameters. This brings the question how on earth are you supposed to generate code with windows syscalls? Like if I am building a compiler, how the heck am I supposed to know what to put where? Are such syscalls just defined in the winapi and abstracted away? Or each compiler needs to do some black magic fuckery to get core features?
- atesti 3y agoTypically by using ntdll.dll. That is the low level interface of Windows NT.
- userbinator 3y agoThe majority of "well-behaved" software doesn't use syscalls directly. Are such syscalls just defined in the winapi and abstracted away? Yes. Unlike Linux, the OS interfaces with the applications via system DLLs (kernel32, user32, gdi32, etc.) As a historical note, the syscall interface on Win9x is completely different from the NT series.
- rice7th 3y agoThank you for the answer. I was learning assembly and after trying it out on Linux x86_64 I tried on Windows but I got very confused from the lack of syscall docs, so after searching I got to such conclusion. Still, thanks for clearing this out!