Soweit ich weiß, werden sogenannte "fat binaries" - ausführbare Dateien, die Maschinencode für mehrere Systeme enthalten - nur auf Apple-PCs verwendet, und selbst dort scheinen sie nur verwendet zu werden, weil sie einen Übergang von benötigen PowerPC auf x86.
Heutzutage ist eine Menge Software plattformübergreifend, und es scheint, als wäre es in vielerlei Hinsicht einfacher, ein einziges Fat Binary zu erstellen, als ein Dutzend verschiedener Downloads für jede Kombination aus Betriebssystem und Architektur nachzuverfolgen an den Kunden, den sie wollen.
Ich kann viele Vermutungen anstellen, warum sich dieser Ansatz nie durchgesetzt hat, zum Beispiel:
- Das Fehlen von Cross-Compilation-Tools macht Multi-OS-Binärdateien unmöglich
- Sie müssen den Code ohnehin auf jedem Betriebssystem testen, damit Sie bereits Systeme haben, die für jedes Betriebssystem nativ kompiliert werden können
- Anscheinend "funktionieren" 32-Bit-Programme bereits auf 64-Bit-Computern
- Dynamische Verknüpfungen funktionieren auf jedem Betriebssystem anders, sodass eine "Fettbibliothek" möglicherweise nicht funktioniert, selbst wenn eine "Fettanwendung" dies tun würde
Aber da ich immer mit einer Bibliothek oder einem Framework arbeite, die bzw. das all diese betriebssystemspezifischen und architekturspezifischen Details vor mir verbirgt, weiß ich nicht, wie wahr dies wirklich ist oder ob es noch weitere Probleme gibt, die ich nicht kenne Über. Also, was sind die eigentlichen Gründe , warum Fett Binärdateien werden im Allgemeinen nicht verwendet , um Multi-Architektur und / oder Multi-OS - Software zu erstellen? (außerhalb von Apple)