Расширение .com, .exe сообщает операционным системам DOS или Windows, что файл является исполняемым файлом.Расширение файла (.com, .exe) само по себе не сообщает операционной системе, каков базовый набор инструкций.Для исполняемых файлов Windows с расширением .exe набор инструкций указывается в первых нескольких байтах файла (PE-заголовок).
Изначально файлы DOS .com просто содержали набор инструкций, которые операционная система (т.е.DOS) будет загружаться по фиксированному адресу и выполняться с первой инструкции.Файлы этого типа .com являются «устаревшими».Они не могут быть запущены в современных операционных системах без эмуляции.Файлы этого типа .com можно найти в CP / M и более поздних (и более часто) DOS, но они работают только в операционной системе и архитектуре команд, для которых они изначально были разработаны.Вы можете запустить их в других операционных системах с помощью эмуляции.Например, dosbox запускает файлы DOS .com в Linux.Более поздние версии DOS, а затем Windows заглядывают в файлы .com, чтобы узнать, действительно ли они исполняемые файлы LE / PE.Если они есть, он выполняет их так, как если бы они имели расширение .exe.Visual Studio поставляет некоторые файлы с расширением .com.Подробнее см. http://blogs.msdn.com/b/oldnewthing/archive/2008/03/24/8332730.aspx.