GNU/Linux >> Linux Esercitazione >  >> Linux

Perché i file EXE di Windows non funzionano su Linux?

Gli eseguibili Linux e Windows utilizzano formati diversi. Linux utilizza il formato ELF sulla maggior parte delle architetture, mentre Windows utilizza il formato PE. ELF è più adatto al modo in cui Linux gestisce le librerie condivise e PE è più adatto al modo in cui Windows gestisce le librerie condivise, ma non c'è alcun motivo fondamentale per cui Linux non possa eseguire eseguibili PE o eseguibili ELF di Windows. Infatti Linux può eseguire gli eseguibili PE, attraverso Wine.

La difficoltà è che Windows e Linux hanno API completamente diverse:hanno interfacce kernel e set di librerie diversi. Quindi, per eseguire effettivamente un'applicazione Windows, Linux dovrebbe emulare tutte le chiamate API effettuate dall'applicazione. È un sacco di lavoro. Wine lo fa in una certa misura, ma è molto difficile, soprattutto perché il produttore di Windows non collabora. Puoi confrontarlo, ad esempio, con l'apprendimento dell'inglese quando la tua lingua madre è il cinese:il formato eseguibile è l'alfabeto (non così difficile da padroneggiare), l'API è il vocabolario (ci vogliono anni per arrivare a un livello in cui puoi iniziare a leggere la letteratura ).


I binari di Windows hanno un ABI diverso e utilizzano un'API diversa rispetto ai binari di Linux.

I file binari di Linux non hanno bisogno di un'estensione perché *nix usa i bit di autorizzazione per identificare un eseguibile invece dell'estensione.


Linux
  1. Linux:condividi file tra host Linux e guest Windows?

  2. Linux – Perché Setuid non funziona??

  3. Linux:perché Locale Es_mx funziona ma non Es?

  4. Linux Vs Windows:perché Linux è migliore per la programmazione e lo sviluppo Web

  5. Quali sono questi processi di Windows su Linux?

11 motivi per cui Linux è migliore di Windows

Perché i nerd usano Linux

Installa Dropbox per condividere file tra Linux e Windows

Come condividere file di giochi Steam tra Linux e Windows

Condivisione di file tra Linux Mint e Windows 10

Sicurezza Linux vs Windows