Какой исполняемый формат обычно приводит к меньшему размеру файла?
Какой исполняемый формат обычно приводит к меньшему размеру файла? Например, я слышал, что формат a.out меньше, чем формат ELF. Этот вопрос кроссплатформенный, поэтому MS-DOS тоже.
3 ответа
Расширения и форматы не связаны. a.out обычно является форматом ELF в системах linux, в то время как в BSD это будут другие форматы; ".out" - это расширение по умолчанию, не связанное с форматом.
Помимо формата, исходный язык также изменяет размер двоичного файла, а также используемые флаги компиляции.
Мой самый маленький PE-файл, созданный с помощью шестнадцатеричного редактора, составляет около 380 байт и может хранить любые ресурсы, которые мне нравятся. (Ну с ресурсами это больше)
Вы правы: ELF несет больше информации, чем старый (устарел в Linux?) Формат "a.out". Но "накладные расходы" (на самом деле, весьма полезные метаданные) малы для любого настольного приложения.
Для MS-DOS COM-файлы меньше (и более ограничены), чем EXE-файлы.