Remix.run Logo
munchler 6 hours ago

It’s a minimal Windows app, so the whole idea is to rely on Windows DLLs as much as possible.

actionfromafar 6 hours ago | parent [-]

Officially, one should not use KERNEL32.dll for instance but go via crt. In practice, most interfaces are stable.

delta_p_delta_x 5 hours ago | parent | next [-]

KERNEL32.DLL (in spite of the name) provides user-mode system services for the Windows API. The CRT provides the C99 API. There are many entry points to the same thing on Windows; you can do any of `malloc`/`HeapAlloc`/`new`/`VirtualAlloc` to get a void* memory buffer. `malloc` is from the CRT; `HeapAlloc` is from KERNEL32.DLL, and `new` is from the C++ runtime.

neonz80 6 hours ago | parent | prev [-]

kernel32 is an official API, you're probably thinking of ntdll. CRT is the C-runtime. Not everything is written in C.

actionfromafar 6 hours ago | parent [-]

Yes, you are right, must have been thinking of ntdll.