Podložka (výpočet) - Shim (computing)
V programování počítače , je podložka je knihovna , která transparentně zachycuje API volání a mění argumenty předané, kliky samotná operace nebo přesměrování provozu na jiném místě. Shimy lze použít k podpoře starého API v novějším prostředí nebo nového API ve starším prostředí. Shimy lze také použít pro spouštění programů na různých softwarových platformách, pro které byly vyvinuty.
Podložky pro starší API obvykle vznikají, když se změní chování API, což způsobí problémy s kompatibilitou pro starší aplikace, které se stále spoléhají na starší funkčnost; v takových případech může být starší API stále podporováno tenkou vrstvou kompatibility v horní části novějšího kódu. Podložky pro novější API jsou definovány jako: „ knihovna, která přináší nové API do staršího prostředí, pouze s využitím prostředků tohoto prostředí.“
Příklady
- Webové výplně implementují novější webové standardy pomocí starších standardů a JavaScriptu , pokud novější standard není v daném webovém prohlížeči k dispozici .
- Podpora AppleTalk na počítačích Macintosh , během krátkého období, ve kterém Apple Computer podporoval síťový systém Open Transport . Tisíce programů Mac byly založeny na protokolu AppleTalk; k podpoře těchto programů byl AppleTalk znovu implementován jako „zásobník“ OpenTransport a poté znovu implementován jako API shim nad touto novou knihovnou.
- Sada Microsoft Windows Application Compatibility Toolkit (ACT) používá tento termín ve smyslu zpětně kompatibilních knihoven. Podložky simulovat chování starších verzích Windows pro starší aplikace, které jsou založeny na nesprávných nebo zastaralých funkcí, nebo opravit způsob, jakým špatně napsaných aplikací nezměněný API, například pro upevnění nejméně privilegovaných uživatelských účtů (LUA) chyby .
- bind.so je komprimační knihovna pro Linux, která umožňuje jakékoli aplikaci bez ohledu na oprávnění vázat se na naslouchající soket nebo určit odchozí IP adresu. Využívá mechanismus LD_PRELOAD , který umožňuje načtení shimů a dalších knihoven do libovolného programu.
Viz také
- Adaptér vzor
- Virtualizace aplikací
- Obálka řidiče
- Kluzný obal
- Kód lepidla
- Stub (počítačová věda)
- Thunk (mapování kompatibility)
- Windows ve Windows (WoW)
- Knihovna obalů