Maybaygiare.org

Blog Network

Hva er en shim?

en shim er et lite bibliotek som fanger opp og endrer samtaler til et annet bibliotek, hovedsakelig for å hjelpe kompatibilitet.

Vedlikehold av flere versjoner av et bibliotek er nødvendig for å støtte kundene dine. Shim biblioteker oversette gamle til nye bibliotek samtaler før videresending videre til det nye biblioteket.Eksempel 1:

Linux-installasjoner kommer vanligvis med En Enkelt Ruby-versjon. Ruby-utviklere må ha forskjellige Ruby-versjoner på sine mange aktive prosjekter. Rbenv bruker shims for å løse dette problemet.

Å Kjøre En Ruby-kommando i Linux betyr å sjekke kjørbarheten i banen – som den søker fra venstre til høyre. Så, kjører Ruby kommandoen rails server Betyr Linux finner og kjører Rails, En Ruby kjørbar, i den første katalogen.

Kjører Skinner App Normalt

Rbenv legger til enshimsdirectory og laster den med shim skript før prepending banen. Det er en shim script for Hver Ruby program og kjører En Ruby program betyr nå kjører matchende shim script. Så kjører rails betyr å utføre Rails-skriptet ishims katalogen og ikke Rails-applikasjonen i usr/local/bin. Skriptet utarbeider Den nødvendige Ruby-versjonen og kjører deretter sin matchende applikasjon, i dette tilfellet Rails, under den forventede Ruby-versjonen.

eksempel 2:

Microsoft bruker shims til å forfalske Et programs Windows-anrop. Når et program gjør et systemkall, går det gjennom ‘Import Address Table’.

Et program som ringer Inn I Vinduer fra IAT

du kan endre tabellen og erstatte windows-samtalen med et anrop til en shim. Shim i eksemplet er en ‘versjon-lie’ shim. Søknaden mener det er på En Windows 7-maskin.

An application call redirected to shim from IAT

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.