Em ciência da computação e tecnologia da informação , um arquivo executável , às vezes (por metonímia) um programa , ou simplesmente um executável é um arquivo que contém um programa e identificado pelo sistema operacional como tal. O carregamento de tal arquivo criará um processo no sistema e a implementação do programa, ao contrário do arquivo de dados que deve primeiro ser interpretado por um programa para fazer sentido.
Tradicionalmente, o próprio programa contido em um arquivo executável contém instruções codificadas em uma linguagem compreensível por um processador . No entanto, em um sentido mais geral, qualquer arquivo contendo instruções destinadas a um intérprete ou uma máquina virtual , como scripts ou bytecode , também pode ser considerado um executável.
Em termos gerais, um arquivo executável pode assumir duas formas:
As propriedades dos arquivos binários executáveis estão intimamente relacionadas ao tipo de sistema operacional.
Em versões do Mac OS anteriores ao Mac OS X , diferentes tipos de arquivos (incluindo executáveis) são identificados pelas informações armazenadas no arquivo: o tipo e o criador .
No Mac OS X, a Apple adotou o mesmo método de identificação de categorias de arquivo, mas sistematicamente adiciona suporte para extensões de nome de arquivo ao Unix, sendo este sistema operacional baseado no Unix.
No Unix , o usuário deve ter permissão para executar um arquivo executável binário. Nenhuma extensão específica é necessária para que um arquivo binário executável seja iniciado. Os programas executáveis estão no formato a.out , COFF ou ELF .
Uma linguagem de script geralmente indica ao sistema sua natureza por meio de um cabeçalho denominado Shebang , seguido pelo intérprete para executá-lo.
Os arquivos executáveis DOS / Windows devem ter um sufixo específico ( extensão ). Na linha de comando, esta extensão está implícita para iniciar o programa (se houver várias possibilidades, o primeiro arquivo encontrado é usado).
Os programas pré-compilados têm a extensão .exe ou .com . No Windows NT , eles estão no formato PE ; anteriormente estavam em NE - New Executable File Format , " new " referindo-se a CP / M , e a arquivos .com -).
Existem também executáveis, incluindo a extensão .APP usada pelo GEM .
Os scripts têm o sufixo .bat ou .cmd e são interpretados pelo programa COMMAND.COM (MS-DOS) ou cmd.exe (Windows NT e derivados).
Cygwin permite a execução de programas MS-DOS / Windows e Unix de forma transparente para o usuário (sem distinção visível no nível da chamada).
Isso às vezes apresenta alguns problemas quando programas "com o mesmo nome" estão disponíveis em formato MS-DOS / Windows e Unix: por exemplo, chamar more a partir da linha de comando, pode (dependendo da configuração) chamar more (Unix) ou more.com (MS-DOS, devido à adição automática da extensão .com , .exe ou .bat ).
Os scripts são editáveis com um editor de texto simples , mas também podem ser gerados automaticamente por outros programas.
Os binários são o resultado de um processo de compilação (geralmente envolvendo um compilador , um assembler , um editor de links ...) de códigos-fonte (modificáveis por um editor de texto ou um ambiente de desenvolvimento integrado ).