GNU/Linux >> Tutoriels Linux >  >> Linux

Pourquoi les fichiers Windows EXE ne fonctionnent-ils pas sous Linux ?

Les exécutables Linux et Windows utilisent des formats différents. Linux utilise le format ELF sur la plupart des architectures, tandis que Windows utilise le format PE. ELF est mieux adapté à la façon dont Linux gère les bibliothèques partagées, et PE est mieux adapté à la façon dont Windows gère les bibliothèques partagées, mais il n'y a aucune raison fondamentale pour que Linux ne puisse pas exécuter les exécutables PE ou Windows ELF. En fait Linux peut exécuter des exécutables PE, via Wine.

La difficulté est que Windows et Linux ont des API complètement différentes :ils ont des interfaces de noyau et des ensembles de bibliothèques différents. Donc, pour exécuter réellement une application Windows, Linux aurait besoin d'émuler tous les appels d'API effectués par l'application. C'est beaucoup de travail. Wine le fait dans une certaine mesure, mais c'est très difficile, d'autant plus que le fabricant de Windows ne coopère pas. Vous pouvez le comparer avec, par exemple, l'apprentissage de l'anglais lorsque votre langue maternelle est le chinois :le format exécutable est l'alphabet (pas si difficile à maîtriser), l'API est le vocabulaire (il faut des années pour arriver à un niveau où vous pouvez commencer à lire de la littérature ).


Les binaires Windows ont un ABI différent et utilisent une API différente de celle des binaires Linux.

Les binaires Linux n'ont pas besoin d'extension car *nix utilise des bits d'autorisation pour identifier un exécutable au lieu de l'extension.


Linux
  1. 10 trucs et astuces incroyables pour travailler avec Linux

  2. Linux - Partager des fichiers entre l'hôte Linux et l'invité Windows ?

  3. Linux - Pourquoi Setuid ne fonctionne-t-il pas ??

  4. Linux – Pourquoi la locale Es_mx fonctionne-t-elle mais pas Es ?

  5. Masquer les fichiers cachés Linux dans Windows

11 raisons pour lesquelles Linux est meilleur que Windows

Pourquoi les nerds utilisent Linux

Installez Dropbox pour partager des fichiers entre Linux et Windows

Comment partager des fichiers de jeu Steam entre Linux et Windows

Partage de fichiers entre Linux Mint et Windows 10

Sécurité Linux contre Windows