web-dev-qa-db-fra.com

Les installations Windows 32 bits sont-elles courantes à ce jour?

J'ai remarqué que de nombreux programmes sont toujours publiés avec des binaires 32 bits ou même seulement un binaire 32 bits. Quelle est l'importance de déployer un binaire 32 bits? À quel point les systèmes 32 bits sont-ils courants? c'est-à-dire, combien de systèmes 32 bits contre 64 bits sont disponibles?

20
Lymia Aluysia

À moins que votre application n'ait vraiment besoin de plus de 2 Go d'espace mémoire ou ne profite de manière significative des opérations x64 nouvelles et plus rapides, il n'est pas nécessaire de s'éloigner de la construction pour x86 32 bits, étant donné la compatibilité ascendante à 100% de x64 (mais 16- bit x86 est une toute autre affaire) - idéalement simplifiez les choses pour vos utilisateurs avec un seul fichier exécutable qui peut s'exécuter n'importe où (au moins sur toutes les installations Windows n'importe où).

La réponse à votre question varie en fonction de la base d'utilisateurs cible:

  • Les personnes qui écrivent des logiciels d'entreprise à usage interne sauront (ou devraient) exactement quel matériel elles ciblent.
  • Si vous écrivez des jeux, jetez un œil à l'enquête Steam Hardware Survey régulièrement mise à jour - http://store.steampowered.com/hwsurvey/ - qui (en date du 2017-12-06) rapporte 97,9% des utilisateurs exécutent une version 64 bits de Windows - ce qui ne donne que 2,1% sur Windows 32 bits, mais cela ne dit pas quel pourcentage d'utilisateurs Windows 32 bits s'exécute réellement sur du matériel compatible x64. Mais les joueurs sur Steam ont tendance à être dans le segment des "passionnés d'informatique", qui exécuteront du matériel plus récent, de sorte que l'utilisation de matériel 64 bits et d'installations de système d'exploitation ne sera pas représentative de tous les utilisateurs d'ordinateurs partout dans le monde.
  • Si vous écrivez un logiciel à usage général pour la distribution à partir de votre propre site Web, jetez un œil à vos fichiers journaux de serveur Web, car le User-Agent l'en-tête vous indique souvent quel système d'exploitation les utilisateurs utilisent avec une chaîne de texte qui inclut souvent l'architecture du processeur (par exemple Chrome rapports Win64; x64).
  • Le pourcentage d'utilisateurs sur les systèmes d'exploitation 64 bits variera également géographiquement - je m'attends à une proportion plus élevée d'utilisateurs de systèmes d'exploitation 32 bits dans les "marchés émergents" qui auraient une utilisation plus large des machines plus anciennes (en particulier importées d'occasion) que dans plus économies développées. De même, les segments de marché qui sont fortement liés aux logiciels hérités, tels que les ministères et de nombreuses entreprises, exécuteront un système d'exploitation Windows 32 bits pour conserver la compatibilité logicielle 16 bits ou pour la prise en charge des pilotes de périphérique 32 bits uniquement.

Plutôt que de vous engager sur 32 ou 64 bits pour la distribution de votre exécutable, vous pouvez faire les deux: tandis que les exécutables Windows PE (.exe et .dll fichiers) n'ont malheureusement pas la fonctionnalité "fat binary" que macOS possède (où un seul exécutable peut contenir des instructions pour différentes architectures), vous pouvez réellement faux un gros binaire utilisant une solution de contournement sous Windows, tel qu'utilisé par les programmes utilitaires de Sysinternals; qui doit avoir un exécutable 32 bits qui contient le binaire 64 bits en tant que ressource intégrée, et s'exécute comme suit:

  1. S'agit-il d'un système d'exploitation 32 bits? Si oui, alors exécutez comme d'habitude
  2. Sinon, il s'agit d'un processus 32 bits sur un système 64 bits, alors extrayez le 64 bits .exe version dans un répertoire temporaire
  3. Démarrez la version 64 bits extraite
  4. Auto-terminaison
21
Dai