Remix.run Logo
actionfromafar 5 hours ago

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 5 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 5 hours ago | parent [-]

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