Двоичная совместимость
Материал из Википедии — свободной энциклопедии
Двои́чная совмести́мость, также бина́рная совмести́мость — от англ. binary compatibility — вид совместимости программ, позволяющий им корректно работать друг с другом.
Этот термин часто используется в значении «совместимость операционных систем», и в таком случае означает способность уже скомпилированной версии программы для одной операционной системы работать в другой операционной системе без перекомпиляции. К примеру, практически все программы, написанные для Windows 2000, можно запустить в Windows XP — это означает, что Windows 2000 и Windows XP бинарно совместимы.
Двоичная совместимость включает в себя побайтовую совместимость полей загрузки, полную идентичность механизма вызова функций, передачи переменных и получения результата вычислений, и полную реализацию интерфейса программирования. При этом технически реализация может быть совершенно иной, — главное, чтобы были реализованы все вызовы и чтобы они приводили к ожидаемому результату, а каким способом этот результат достигается, решают создатели программы.
Слом двоичной совместимости означает прекращение поддержки программ и обязательное требование перекомпиляции и возможных исправлений в программе, чтобы она заработала. К примеру, после того, как компания Apple начала использовать в своих компьютерах процессоры Intel, была сломана двоичная совместимость со всеми приложениями, написанными для процессоров PowerPC. Чтобы не лишиться всех разработанных в прошлом программых продуктов для операционной системы MacOS, компания Apple использует лёгкий транслятор Rosetta, переводящий вызовы операционной системы MacOS для PowerPC в вызовы MacOS для Intel. Этот пример демонстрирует также возможный метод борьбы со сломом двоичной совместимости.