I have very basic application which is console app dispaying message box. In Visual Studio I change following options:
- C/C++ -> SecurityCheck -> Disable Security Check (/GS-)
- Linker -> Advanced -> Entry Point -> main
- Linker -> Input -> -> Ignore All Default Libraries -> Yes (/NODEFAULTLIB)
to remove from .exe all dependenies like vcruntime140.dll, api-ms-win-crt-locale.dll, etc.
Now, I have only one dependency in import table, which is user32.dll (required by messagebox).
Why kernel32.dll is missing? I thought that kernel32.dll is required for all .exe applications.
Even the kernel32.dll is missing, the app runs correctly.