Fichier exécutable

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

Un fichier exécutable est un fichier informatique contenant un programme et identifié par le système d'exploitation en tant que tel.

Le chargement d'un tel fichier entraîne la création d'un processus dans le système, et l'exécution du programme.

Formats de fichiers exécutables[modifier | modifier le code]

On trouve différentes formes d'exécutable :

  • les programmes en langage machine, binaires, compilés (ou assemblés) pour un type de système donné, et dont les instructions sont exécutées directement par le processeur ;
  • les scripts (fichiers texte), exécutés par un interpréteur (shell, perl, etc.) ;
  • les programmes en bytecode, également binaires, sont des programmes compilés pour une architecture générique et qui doivent être soit interprétés dans le cadre d'une machine virtuelle, soit “sur-compilés„ au moment de l'exécution.

Propriétés[modifier | modifier le code]

Les propriétés des fichiers exécutables sont intimement liées au type de système d'exploitation.

Il est très simple de rendre des logiciels au format .exe. En effet, un logiciel peut s’exécuter sans aucune installation et sans autorisation particulière sur une session en réseau d'entreprise par exemple. Ces logiciels sont dits portables. Portabiliser un logiciel peut se faire avec le logiciel thinapp, par exemple.


Sous les systèmes Macintosh[modifier | modifier le code]

Sous les versions de Mac OS antérieures à Mac OS X, les différents types de fichiers (y compris les exécutables) sont identifiés par des informations stockées dans le fichier : le type et le créateur.

  • Le type indique la nature du fichier par un code alphanumérique à quatre positions (par exemple : 'APPL' pour une application, 'INIT' pour une extension système — sorte de patch désactivable au démarrage —, ou 'cDEV' pour un tableau de bord — application utilitaire utilisable depuis n'importe quel contexte applicatif).
  • Le créateur est un code de même format permettant, pour une application, de l'identifier de manière unique, et pour un fichier, de retrouver l'application permettant de l'ouvrir. Ces informations ont donc la même fonction que les extensions de noms de fichiers, tout en étant transparentes à l'utilisateur.

Dans Mac OS X, Apple a repris le même mode d'identification des catégories de fichiers, mais ajoute de manière systématique une gestion des extensions de noms de fichiers à la Unix, ce système d'exploitation étant basé sur un Unix.

Sous Unix[modifier | modifier le code]

Dans ce monde, les fichiers doivent avoir le flag exécutable activé (en:set), aucune extension particulière n'est nécessaire.

Les programmes exécutables sont au format a.out, COFF ou ELF.

Les scripts shells indiquent généralement sur leur première ligne le nom de leur interpréteur.

Le monde DOS/Windows[modifier | modifier le code]

Les fichiers exécutables sous DOS/Windows doivent porter un suffixe (extension) spécifique. En ligne de commande, cette extension est implicite pour lancer le programme (s'il y a plusieurs possibilités, le premier fichier trouvé est utilisé).

Les programmes précompilés possèdent l'extension .exe ou .com. Depuis Windows NT, ils sont au format PE ; auparavant ils étaient au format NENew Executable File Format, « new » faisant référence à CP/M, et aux fichiers .com —).

Il existe aussi des exécutables comprenant l'extension.APP utilisés par GEM.

Les scripts possèdent le suffixe .bat ou .cmd et sont interprétés par le programme COMMAND.COM (MS-DOS) ou cmd.exe (Windows NT et dérivés)[Informations douteuses].

Cygwin[modifier | modifier le code]

Cygwin permet l'exécution de programmes MS-DOS/Windows et Unix de façon transparente pour l'utilisateur (pas de distinction visible au niveau de l'appel).

Cela pose parfois quelques soucis lorsque des programmes « de même nom » sont disponibles à la fois au format MS-DOS/Windows et Unix : par exemple appeler more en ligne de commande, peut (selon la configuration) appeler soit more (Unix), soit more.com (MS-DOS, à cause de l'ajout automatique de l'extension .com, .exe ou .bat).

Génération d'un fichier exécutable[modifier | modifier le code]

Les scripts sont éditables avec un simple éditeur de texte, mais peuvent aussi être générés automatiquement par d'autres programmes.

Les binaires sont issus d'un procédé de compilation (mettant généralement en jeu un compilateur, un assembleur, un éditeur de liens...) à partir de codes sources (modifiables par un éditeur de texte ou un EDI).

Liens externes[modifier | modifier le code]