Pour autant que je sache, les soi-disant "gros binaires" - des fichiers exécutables qui contiennent du code machine pour plusieurs systèmes - ne sont vraiment utilisés que sur les PC Apple, et même là, il semble qu'ils ne les ont utilisés que parce qu'ils avaient besoin de passer de PowerPC à x86.
De nos jours, beaucoup de logiciels sont multiplates-formes, et il semble que créer un seul gros binaire serait à bien des égards plus simple que de garder une trace d'une douzaine de téléchargements différents pour chaque combinaison de système d'exploitation et d'architecture, sans parler de la transmission au client lequel il veut.
Je peux proposer de nombreuses suppositions pour expliquer pourquoi cette approche n'a jamais pris, par exemple:
- Un manque d'outils de compilation croisée rendant les binaires multi-OS irréalisables
- Vous devez quand même tester le code sur chaque système d'exploitation, vous devez donc déjà avoir des systèmes qui peuvent compiler en mode natif pour chaque système d'exploitation
- Apparemment, les programmes 32 bits "fonctionnent juste" sur les machines 64 bits déjà
- La liaison dynamique fonctionne différemment sur chaque système d'exploitation, donc une «bibliothèque de graisse» peut ne pas fonctionner même si une «application de graisse»
Mais comme je travaille toujours avec une bibliothèque ou un framework qui me cache tous ces détails spécifiques au système d'exploitation et à l'architecture, je ne sais pas à quel point tout cela est vrai, ou s'il y a encore plus de problèmes, je ne sais pas à propos. Alors, quelles sont les véritables raisons pour lesquelles les binaires fat ne sont généralement pas utilisés pour créer des logiciels multi-architecture et / ou multi-OS? (en dehors d'Apple)