Как предшественник записи компилятора я пытаюсь понять Windows (32-разрядный) Портативный Формат исполняемых файлов. В особенности я хотел бы видеть пример базового исполняемого файла, который не делает ничего кроме загрузки правильно, выполненный и выход.
Я попытался писать и скомпилировать простую основную функцию C, которая делает только получающийся .exe, ~22KB и содержит много импорта из KERNEL32.DLL (по-видимому, используемый LIBC для установки среды, "куча" и т.д.). Даже Заголовок DOS мог, вероятно, быть меньшим (он в настоящее время печатает значение по умолчанию 'Эта программа, не может быть выполнен в режиме DOS').
Какова структура наименьшего Windows 32-разрядный исполняемый файл?