Maybaygiare.org

Blog Network

mikä on shim?

a shim on pieni kirjasto, joka kuuntelee ja muuttaa puheluita toiseen kirjastoon lähinnä yhteensopivuuden helpottamiseksi.

kirjaston useiden versioiden ylläpitäminen on välttämätöntä asiakkaiden tukemiseksi. Shim-kirjastot kääntävät Vanhat ja uudet kirjastopuhelut ennen siirtämistä uuteen kirjastoon.

Esimerkki 1:

Linux-asennuksissa on yleensä yksi Ruby-versio. Ruby-kehittäjillä on oltava eri Ruby-versiot monissa aktiivisissa projekteissaan. Rbenv käyttää shimejä tämän ongelman ratkaisemiseksi.

Ruby — komennon suorittaminen Linuxissa tarkoittaa suoritustiedoston tarkistamista polulta-jota se etsii vasemmalta oikealle. Ruby-komennon rails serverajaminen tarkoittaa siis sitä, että Linux löytää ja ajaa Rails-nimisen Ruby-suoritustiedoston ensimmäisestä hakemistosta.

Running Rails App Normally

Rbenv lisää shims hakemisto ja lataa sen Shim-skripteillä ennen polun valmistelua. Jokaiselle Ruby-sovellukselle on Shim-skripti, ja Ruby-sovelluksen suorittaminen tarkoittaa nyt vastaavan shim-skriptin ajamista. Kiskojen juokseminen tarkoittaa siis Rails-kirjoituksen suorittamista shims hakemistossa eikä Rails-sovellusta usr/local/bin. Skripti työstää tarvittavan Ruby-version ja suorittaa sen vastaavan sovelluksen, tässä tapauksessa Rails, kyseisen odotetun Ruby-version alla.

esimerkki 2:

Microsoft väärentää shimsin avulla sovelluksen Windows-puheluita. Kun sovellus tekee järjestelmäkutsun, se menee ”tuo Osoitetaulukon” läpi.

IAT: n Windowsiin kutsuva sovellus

voit vaihtaa taulukkoa ja korvata Windows-puhelun shim-kutsulla. Shim esimerkissä on ’versio-Vale’ shim. Sovellus uskoo sen olevan Windows 7-koneessa.

An application call redirected to shim from IAT

Vastaa

Sähköpostiosoitettasi ei julkaista.