Двоичная совместимость
Двои́чная совмести́мость, также бина́рная совмести́мость — от англ. binary compatibility — вид совместимости программ, позволяющий программе работать в различных средах без изменения её двоичных файлов.
Этот термин часто используется в значении «совместимость операционных систем», и в таком случае означает способность уже скомпилированной версии программы для одной операционной системы работать в другой операционной системе без перекомпиляции. К примеру, практически все программы, написанные для Windows 2000, можно запустить в Windows XP — это означает, что Windows 2000 и Windows XP бинарно совместимы.
Двоичная совместимость включает в себя побайтовую совместимость полей загрузки, полную идентичность механизма вызова функций, передачи переменных и получения результата вычислений, и полную реализацию интерфейса программирования. При этом технически реализация может быть совершенно иной, — главное, чтобы были реализованы все вызовы и чтобы они приводили к ожидаемому результату, а каким способом этот результат достигается, решают создатели программы.
Слом двоичной совместимости означает прекращение поддержки программ и обязательное требование перекомпиляции и возможных исправлений в программе, чтобы она заработала. К примеру, после того, как компания Apple начала использовать в своих компьютерах процессоры Intel, была сломана двоичная совместимость со всеми приложениями, написанными для процессоров PowerPC. Чтобы не лишиться всех разработанных в прошлом программых продуктов для операционной системы Mac OS, компания Apple использует лёгкий транслятор Rosetta, переводящий вызовы операционной системы Mac OS для PowerPC в вызовы Mac OS для Intel. Этот пример демонстрирует также возможный метод борьбы со сломом двоичной совместимости.
В операционной системе Solaris 10 для x86 существует возможность запускать приложения для Линукса без перекомпиляции с помощью BrandZ. На платформе SPARC такая возможность отсутствует.
См. также
Компьютер | Это незавершённая статья о компьютерах. Вы можете помочь проекту, исправив и дополнив её. |
de:Binärschnittstelle en:Application binary interface it:Application binary interface ja:Application Binary Interface pl:ABI zh:应用二进制接口
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....