Шим (вычисления)
Эта статья нуждается в дополнительных цитатах для проверки . ( июнь 2010 г. ) |

В компьютерном программировании прокладка — это библиотека , которая прозрачно перехватывает вызовы API и изменяет передаваемые аргументы, обрабатывает саму операцию или перенаправляет операцию в другое место. [1] [2] Shims можно использовать для поддержки старого API в новой среде или нового API в более старой среде. Shims также можно использовать для запуска программ на разных программных платформах, для которых они были разработаны.
Оболочки для старых API обычно возникают, когда меняется поведение API, что приводит к проблемам совместимости со старыми приложениями, которые все еще полагаются на старые функциональные возможности; в таких случаях старый API все равно может поддерживаться тонким слоем совместимости поверх нового кода. Прокладки для новых API определяются как « библиотека , которая переносит новый API в старую среду, используя только средства этой среды». [3]
Примеры
[ редактировать ]- Веб- полифилы реализуют новые веб-стандарты с использованием старых стандартов и JavaScript , если новый стандарт недоступен в данном веб-браузере . [3]
- Поддержка AppleTalk на компьютерах Macintosh в течение короткого периода, в течение которого Apple Computer поддерживала сетевую систему Open Transport . Тысячи программ Mac были основаны на протоколе AppleTalk; для поддержки этих программ AppleTalk был повторно реализован как «стек» OpenTransport, а затем повторно реализован как оболочка API поверх этой новой библиотеки.
- Набор средств совместимости приложений Microsoft Windows (ACT) использует этот термин для обозначения обратно совместимых библиотек. Оболочки имитируют поведение старых версий Windows для устаревших приложений, которые полагаются на неправильные или устаревшие функции, или исправляют способ, которым плохо написанные приложения вызывают неизмененные API, например, для исправления учетной записи пользователя с наименьшими привилегиями (LUA) ошибок . [4]
- bind.so — это библиотека прокладки для Linux , которая позволяет любому приложению, независимо от разрешений, привязываться к прослушивающему сокету или указывать исходящий IP-адрес. [5] Он использует механизм LD_PRELOAD , который позволяет загружать прокладки и другие библиотеки в любую программу.
- В шаблоне туннелирования типов общий уровень интерфейса использует семейство прокладок для преобразования разнородного набора типов в один примитивный тип, используемый базовым API. [6]
См. также
[ редактировать ]- Шаблон адаптера
- Виртуализация приложений
- Оболочка драйвера
- Слайд-обертка
- Код клея
- Заглушка (информатика)
- Thunk (отображение совместимости)
- Windows в Windows (WoW)
- Функция-обертка
- Библиотека-оболочка
Ссылки
[ редактировать ]- ^ «Приложения вашей компании несовместимы с Windows 7? Подставьте их, — говорит Microsoft» . Компьютерный мир . 21 марта 2009 г. Проверено 5 апреля 2014 г.
- ^ «Демистификация прокладок — или — Использование набора инструментов App Compat Toolkit, чтобы ваши старые вещи работали с новыми» . Microsoft TechNet . 17 июня 2011 г. Проверено 5 апреля 2014 г.
- ^ Jump up to: а б Аксель Раушмайер (2014). Говоря о JavaScript . Прокладки и полифилы .
- ^ «Набор средств обеспечения совместимости приложений Microsoft 5.0» . Майкрософт . 11 декабря 2007 г. Проверено 24 июня 2008 г.
- ^ «Исходный кодbind.so» . Дэниел Райд. 09.01.2010 . Проверено 5 апреля 2014 г. [ мертвая ссылка ]
- ^ Уилсон, Мэтью (август 2003 г.), «Обобщенные манипуляции со строками: прокладки доступа и туннелирование типов» , Журнал пользователей C/C++ , 21 (8)