Различие между .com, .exe, и .bat?

Каково различие между a.bat, a.com и a.exe расширениями?

20
задан Peter Mortensen 6 June 2014 в 18:23
поделиться

5 ответов

Первоначально A .Com файл был буквальным блоком из 8086 кода (то есть 16-битный X86). Он должен быть загружен с фиксированным адресом, и погрузчик будет прыгать прямо к первому байту его адреса. Это также ограничено по размеру.

Файл .exe имеет больше информации заголовка. Таким образом, он требует структур для таких вещей, как динамическое связывание, где код из DLL можно исправить в .exe пространство памяти при времени загрузки. Это изначально исходит от DOS, но сегодня используется в Windows Отказ

Однако DOS и Windows в конечном итоге пошли к модели, где расширение файла в .Com и .exe ничего не имело в виду. Программный загрузчик сначала проверяет первые два байта файла. Если это происходит строку MZ ( легенды, имеет ее основания для инициалов раннего сотрудника Microsoft ), он будет относиться к нему как EXE , В противном случае он загрузит его, как если бы это был файл COM . С MZ не отображается разумной инструкции X86 для запуска программы, они могут сойти с этим. Чистый эффект: в некоторых версиях DOS / Windows AN . Exe можно назвать .Com и наоборот. Например, во многих версиях DOS / Windows знаменитый Command.com был фактически EXE .

Я не уверен, насколько предыдущий абзац применяется к версиям Windows на основе NT. Я бы представила, что теперь они отказались от .Com .

Наконец, файл .bat .bat . - это список команд, которые должны быть выполнены, как если бы вы набрали их в вашу командную строку. Однако в эти дни большинство людей называют их как .CMD .

45
ответ дан 29 November 2019 в 23:41
поделиться

.bat - это пакетный файл. Он интерпретируется.

.exe является обычным исполняемым файлом программы.

Файл .Com, по крайней мере, для MS-DOS, имеет пропущенные META-данные и загружаются в определенное смещение в основной памяти. Это меньше, чем .exe

1
ответ дан 29 November 2019 в 23:41
поделиться

Я предполагаю, что вы имеете в виду для Windows?

«A.BAT» должен быть пакетным файлом, эквивалент Windows / DOS файла сценариев.

«A.com» и «A.exe» должны быть эквивалентными в эти дни. Однако, обратно в дни Windows 3.x , файл «COM» был исполняемым DOS , где файл «exe» был портативным исполняемым исполняемым или исполняемым Windows. Отказ Это дни в эти дни, поскольку файлы в формате «www.example.com могут существовать на вашем жестком диске, и многие люди принимают такой файл для веб-ссылки. Еще хуже Windows обычно пытается выполнять файлы «COM» перед файлами «EXE».

1
ответ дан 29 November 2019 в 23:41
поделиться

.BAT - Пакетный файл: список команд (в основном текстовый файл с командными командами)

.COM - исполняемый файл DOS загружен в неподвижный блок памяти (стебли обратно перед многозадачником)

.Exe - исполняемый файл - стандартное приложение на платформе Windows

0
ответ дан 29 November 2019 в 23:41
поделиться

Файл летучей мыши (CH) - это скрипт, который выполняется командой интерпретатора.

Файл EXE скомпилирован двоичным кодом, который должен выполняться непосредственно на CPU.

COM-файл - это реликвия из прошлого, чтобы создать небольшой EXE.

0
ответ дан 29 November 2019 в 23:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: