Shim (computing)
Im Computerprogrammierung, a Shim ist ein Bibliothek das transparent Abschnitte API Anrufe und ändert die Argumente, übernimmt die Operation selbst oder leitet die Operation an anderer Stelle um.[1][2] SHILS kann verwendet werden, um eine alte API in einer neueren Umgebung oder eine neue API in einer älteren Umgebung zu unterstützen. SHIPS können auch zum Ausführen von Programmen auf verschiedenen Softwareplattformen verwendet werden, als sie entwickelt wurden.
Untersuchungen für ältere APIs treten normalerweise auf, wenn sich das Verhalten einer API ändert, wodurch Kompatibilitätsprobleme für ältere Anwendungen verursacht werden, die immer noch auf der älteren Funktionalität beruhen. In solchen Fällen kann die ältere API immer noch durch ein dünn gestützt werden Kompatibilitätsschicht Über dem neueren Code. SHIPS für neuere APIs sind definiert als: "a Bibliothek Das bringt eine neue API in eine ältere Umgebung, wobei nur das Mittel dieser Umgebung verwendet wird. "[3]
Beispiele
- Netz Polyfills Neuere implementieren Webstandards ältere Standards verwenden und JavaScript, wenn der neuere Standard in einem bestimmten nicht verfügbar ist Webbrowser.[3]
- Unterstützung von Appletalk an Macintosh Computer, während der kurzen Zeit, in der Apple Computer unterstützte die Offener Transport Netzwerksystem. Tausende MAC -Programme basierten auf dem AppleTalk -Protokoll. Um diese Programme zu unterstützen, wurde Appletalk als Opentransport-Stapel neu implementiert und dann als API-Shim über dieser neuen Bibliothek erneut implementiert.
- Das Microsoft Windows Anwendungskompatibilitäts -Toolkit (ACT) verwendet den Begriff, um zu bedeuten rückwärtskompatibel Bibliotheken. SHIPS Simulieren Sie das Verhalten älterer Versionen von Windows für Legacy -Anwendungen, die auf falsche oder veraltete Funktionen beruhen, oder korrigieren die Art und Weise, wie schlecht geschriebene Anwendungen unveränderte APIs nennen, zum Beispiel zur Behebung am wenigsten privilegiertes Benutzerkonto (LUA) Käfer.[4]
- bind.so ist eine Shim -Bibliothek für Linux Dies ermöglicht es jeder Anwendung, unabhängig von den Berechtigungen, an einen Hörbuchsen zu binden oder eine ausgehende IP -Adresse anzugeben.[5] Es verwendet das Ld_preload Mechanismus, der es ermöglicht, in jedem Programm in jedes Programm geladen zu werden.
Siehe auch
- Adaptermuster
- Anwendungsvirtualisierung
- Fahrerverpackung
- Gleitverpackung
- Klebercode
- Stub (Informatik)
- Thunk (Kompatibilitätszuordnung)
- Windows unter Windows (Beeindruckend)
- Wrapper -Bibliothek
Verweise
- ^ "Die Apps Ihres Unternehmens sind mit Windows 7 nicht kompatibel, sagt Microsoft", sagt Microsoft ". Computerwelt. 2009-03-21. Abgerufen 2014-04-05.
- ^ "Entmystifizierende Schäfte - oder - Verwenden des App -Compat -Toolkits, um Ihre alten Sachen mit Ihren neuen Sachen zum Laufen zu bringen.". Microsoft Technet. 2011-06-17. Abgerufen 2014-04-05.
- ^ a b Axel Rauschmayer (2014). JavaScript sprechen. SHILS gegen Polyfills.
- ^ "Microsoft Application Compatibility Toolkit 5.0". Microsoft. 2007-12-11. Abgerufen 2008-06-24.
- ^ "Quellcode von bind.so". Daniel Ryde. 2010-01-09. Abgerufen 2014-04-05.