Наскільки я знаю, так звані "жирові файли" - виконувані файли, що містять машинний код для декількох систем - реально використовуються лише на комп'ютерах Apple, і навіть там здається, що вони використовували їх лише тому, що їм потрібно було перейти з PowerPC до x86.
В наші дні багато програмного забезпечення є крос-платформним, і, схоже, зробити єдиний жирний бінарний файл буде багато в чому простіше, ніж відслідковувати десяток чи більше різних завантажень для кожної комбінації операційної системи та архітектури, не кажучи вже про те, щоб якось передавати замовнику, якого вони хочуть.
Я можу придумати чимало здогадок щодо того, чому такий підхід ніколи не натрапляв, наприклад:
- Відсутність засобів перехресної компіляції, що робить бінарні файли з декількома ОС нездійсненними
- У будь-якому випадку вам потрібно перевірити код на кожній ОС, тому вам вже доведеться мати системи, які зможуть компілюватись для кожної ОС
- Мабуть, 32-бітні програми "просто працюють" на 64-бітних машинах
- Динамічне підключення працює по-різному в кожній ОС, тому "бібліотека жирів" може не працювати, навіть якщо "жирна програма"
Але оскільки я завжди працюю з бібліотекою або рамкою, яка приховує від мене всі ці специфічні для ОС та архітектури деталі, я не знаю, наскільки насправді це є щось, або якщо є ще більше проблем, яких я не знаю о. Отже, які фактичні причини, чому жирові файли зазвичай не використовуються для створення програмного забезпечення для багатьох архітектур та / або програмного забезпечення для багатьох ОС? (за межами Apple)