Я недавно загрузил MS-DOS 6 на свой ноутбук, и я хочу иметь возможность выполнять все команды на cmd, но мне нужно перейти с .exe в .com. Я скачаю любое программное обеспечение для этого.
3 ответа
Мне кажется, вы немного запутались в значении расширений .com и .exe.
- .com - это, по сути, ИЗОБРАЖЕНИЕ памяти, ограниченное размером менее 64 КБ (фактически больше похоже на 0xFF00 байт, 65 280, технически, так как первые 256 байт для строки cmd и прочего)
- .exe - это связанная программа, (возможно) состоящая из частей библиотек и кода, ресурсов и прочего, размер по существу неограничен, хотя ограничения физической памяти существуют)
ОБА функционируют так же хорошо, как команды, на самом деле, загляните в ваш подкаталог DOS, вы найдете разброс .com-файлов и кучу .exe-файлов. Не путайте проблему, думая, что только COM-файлы являются COM-командами. Просто соглашение об именах.
Он имеет какое-то отношение к корням CP/M MSDOS, поскольку размеры программ были ограничены 64 КБ, и более крупные программы должны были помещать себя в память ... эти БЫЛИ считались COM-командами. Но, к счастью, мы преодолели ограничения CP/M ... в совершенно новый набор ограничений ... но это уже другая история.
Надеюсь, это поможет.
Существуют разные типы EXE-файлов. Некоторые могут работать в MS-DOS, в то время как другие требуют Windows. Те, кого вы можете запустить в MS-DOS, не нуждаются в каком-либо преобразовании.
Файлы EXE, скомпилированные для Windows, даже если они принимают аргументы командной строки и генерируют консольный вывод, не будут работать в DOS. Они зависят от функциональности Windows и API (интерфейсы прикладного программирования) для правильной работы.
Если вы попытаетесь запустить файл Windows EXE в DOS, вы получите следующее сообщение:
This program cannot be run in MS-DOS mode.
Все остальные ответы хороши, добавив к ним, можно сказать, что исполняемые файлы COM в старые времена DOS были загружены в L1 Cache, это было то, что было ближе всего к многозадачности во времена dos.
Пример: Mouse.com, был загружен в кэш-память, затем все остальные последующие программы, которые вы запускали, могли использовать мышь;
386 процессор может поддерживать от 16 до 64 КБ кеша
Процессор 486, кэш 8 КБ был интегрирован непосредственно в кристалл ЦП. Этот кэш был назван кешем уровня 1 или L1, чтобы отличать его от более медленной кэш-памяти на материнской плате или кеша уровня 2 (L2). Эти кеши на материнской плате были намного больше, при этом самый распространенный размер - 256 КБ.
В бурное время 386, 486, а затем x86, некоторые игры для досов работали некорректно на 486, потому что не хватало кеша L1 для загрузки всех необходимых COM из эпохи 386, подумайте, мышь, звук, CDROM, MEMCACHE. Через несколько вы должны были запустить игру без звука, чтобы, например, играть с мышью.