Se você já ouviu falar em mudar a extensão de um arquivo EXE para COM, deve estar se perguntando se ele só funcionaria em alguns arquivos raros ou se funcionaria em quase todos os arquivos EXE que você tiver. O post de perguntas e respostas do superusuário de hoje tem a resposta para a pergunta de um leitor curioso.
A sessão de perguntas e respostas de hoje chega até nós como cortesia do SuperUser – uma subdivisão do Stack Exchange, um grupo de sites de perguntas e respostas voltado para a comunidade.
A questão
O leitor de SuperUser Royi Namir quer saber se as extensões de arquivo EXE sempre podem ser substituídas por COM ?:
Nosso software antivírus se recusou a me permitir copiar um arquivo EXE para a pasta de inicialização do Windows 7 (calc.exe, por exemplo), pois é um arquivo EXE. Em seguida, alterei a extensão do arquivo EXE para COM no arquivo e pude copiá-lo facilmente para a pasta sem problemas (muito profissional).
E, claro, calc.com funciona tão bem quanto calc.exe, o que me deixou pensando. Quando um programa com uma extensão de arquivo EXE não funcionará quando a extensão for alterada para COM? Quase todos os arquivos EXE que verifiquei funcionaram. Eu adoraria saber os motivos do “por que e por que não” desse assunto.
As extensões de arquivo EXE sempre podem ser substituídas por COM?
A resposta
O contribuidor do SuperUser Math Man tem a resposta para nós:
Tem a ver com o formato interno do arquivo. Originalmente, os arquivos COM eram imagens de memória simples e os arquivos EXE tinham muitos cabeçalhos associados a eles. Como resultado, você não pode renomeá-los.
Conforme o tempo passava e eles tinham que tornar as coisas compatíveis com as versões anteriores, a Microsoft o alterou para que o sistema operacional olhasse o próprio arquivo para determinar que tipo de arquivo é em vez da extensão. Como resultado, quando você executa o arquivo renomeado, o Windows ignora a extensão totalmente.
Visite os links abaixo para uma explicação mais detalhada e extensa.
Qual é a diferença entre .com, .exe e .bat? [StackOverflow]
Qual é a diferença entre as extensões COM e EXE? [Blog de desenvolvedores da Microsoft]
Tem algo a acrescentar à explicação? Som desligado nos comentários. Quer ler mais respostas de outros usuários do Stack Exchange com experiência em tecnologia? Confira o tópico de discussão completo aqui .