Converter .exe para .com

1

Eu baixei recentemente o MS-DOS 6 no meu laptop e quero poder fazer todos os comandos no cmd, mas preciso converter o .exe em .com. Eu baixarei qualquer software para fazer isso.

    
por Jake Inc. 19.06.2012 / 01:14

3 respostas

25

Acho que você está confuso sobre o significado das extensões .com e .exe.

  • .com é essencialmente uma IMAGEM de memória, restrita a menos de 64K de tamanho (na verdade, mais como 0xFF00 bytes, uh 65.280, tecnicamente desde os primeiros 256 bytes para a linha cmd e outras coisas)
  • .exe é um programa vinculado, (possivelmente) composto de partes de bibliotecas e código, recursos e outras características, o tamanho é essencialmente ilimitado, embora existam limites de memória física)

BOTH funciona igualmente bem como comandos, de fato, procure em seu subdiretório DOS, você encontrará uma dispersão de arquivos .com e um monte de arquivos .exe. Não confunda o problema pensando apenas que os arquivos .com são COMmands. Apenas uma convenção de nomenclatura.

Tem algo a ver com as raízes CP / M do MSDOS, já que os tamanhos dos programas eram limitados a 64k, e programas maiores tinham que se auto-instalar na memória ... aqueles eram considerados COMmands. Mas, felizmente, crescemos além das limitações do CP / M ... em um novo conjunto de limitações ... mas isso é outra história.

Espero que isso ajude.

    
por 19.06.2012 / 01:36
7

Existem diferentes tipos de arquivos EXE. Alguns podem rodar no MS-DOS, enquanto outros requerem o Windows. Aqueles que você pode executar no MS-DOS não precisariam de nenhum tipo de conversão.

Os arquivos EXE compilados para o Windows, mesmo que aceitem argumentos de linha de comando e gerem a saída do console, não serão executados no DOS. Eles dependem da funcionalidade do Windows e das APIs (interfaces de programação de aplicativos) para funcionar corretamente.

Se você tentar executar um arquivo EXE do Windows no DOS, receberá esta mensagem:

This program cannot be run in MS-DOS mode.
    
por 19.06.2012 / 01:36
0

Todas as outras respostas são boas, adicionar a elas seria dizer que os executáveis COM nos tempos antigos do DOS foram carregados no Cache L1, era o mais próximo da multitarefa no DOS.

Ex: Mouse.com, foi carregado na memória cache, depois todos os outros programas subseqüentes que você estava executando puderam usar o mouse;

  • O processador 386 pode suportar 16 a 64 KB de cache

  • Processador
  • 486, um cache de 8 KB foi integrado diretamente no chip da CPU. Esse cache foi denominado cache Nível 1 ou L1 para diferenciá-lo do cache mais lento na placa-mãe ou no nível 2 (L2). Esses caches na placa-mãe eram muito maiores, com o tamanho mais comum sendo 256 KB.

Durante o tempo turbulento de 386, 486 e x86, alguns dos jogos não estavam funcionando corretamente em 486 porque não havia cache L1 suficiente para carregar todos os COMs necessários da era 386, pense, Mouse, Som, CDROM, MEMCACHE . Depois de alguns você teve que escolher rodar o jogo sem som para poder jogar com o mouse, por exemplo.

    
por 30.05.2014 / 09:28

Tags