Earlier quoted context omitted.
int main(){ puts("Hello World"); } > This doesn't work in Windows. Sure it does. Windows has console programs. Though I'd argue that your use of non-standard main is not something I'd do, but IIRC even that works on Windows, at least it did with older compilers, haven't done much windows C programming with the newer ones.
What you point out is an _abstraction_ that compilers include as part of their kits. You claim to be a low-level programmer who understands C. The truth is right in front of you. Decompile those programs, look at their symbol tables. Notice, every Win32 program starts at WinMain, called with the arguments that I listed above. Come back when you've done this simple exercise. Realize, WinMain is the _true_ starting poi…
You can't code in a high-level language like C without working with abstractions. Whether you look at the main() level or the WinMain() level, there will still be library initialization hooks running before your end-user code gets to run.