Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Shim (computing)
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Examples == * Web [[Polyfill (programming)|polyfill]]s implement newer [[web standard]]s using older standards and [[JavaScript]], if the newer standard is not available in a given [[web browser]].<ref name="speakingjs">{{cite book|title=Speaking JavaScript |url=http://speakingjs.com/ |author=Axel Rauschmayer |year=2014 |at=[http://speakingjs.com/es5/ch30.html#id1267739 Shims Versus Polyfills]}}</ref> * Support of [[AppleTalk]] on [[Apple Macintosh|Macintosh]] computers, during the brief period in which [[Apple Computer]] supported the [[Open Transport]] networking system. Thousands of Mac programs were based on the AppleTalk protocol; to support these programs, AppleTalk was re-implemented as an OpenTransport "stack", and then re-implemented as an API shim on top of this new library. * The [[Microsoft Windows]] Application Compatibility Toolkit (ACT) uses the term to mean [[backward compatibility|backward compatible]] libraries. Shims simulate the behavior of older versions of Windows for legacy applications that rely on incorrect or deprecated functionality, or correct the way in which poorly written applications call unchanged APIs, for example to fix [[Principle of least privilege|least-privileged user account (LUA)]] [[software bug|bug]]s.<ref>{{cite web|publisher=[[Microsoft]]|url=http://www.microsoft.com/downloads/details.aspx?FamilyID=24da89e9-b581-47b0-b45e-492dd6da2971&displaylang=en|title=Microsoft Application Compatibility Toolkit 5.0|accessdate=2008-06-24|date=2007-12-11}}</ref> * bind.so is a shim library for [[Linux]] that allows any application, regardless of permissions, to bind to a listening socket or specify outgoing IP address.<ref>{{cite web|publisher=Daniel Ryde|url=http://www.ryde.net/code/bind.c.txt|title=Source code of bind.so|accessdate=2014-04-05|date=2010-01-09|archive-date=2014-03-30|archive-url=https://web.archive.org/web/20140330151653/http://www.ryde.net/code/bind.c.txt|url-status=dead}}</ref> It uses the [[LD_PRELOAD]] mechanism, which allows shims and other libraries to be loaded into any program. * In the ''type tunnel'' pattern, a generic interface layer uses a family of shims to translate a heterogeneous set of types to a single primitive type used by an underlying API.<ref>{{Citation | last = Wilson | first = Matthew | title = Generalized String Manipulation: Access Shims and Type Tunneling | url = http://www.drdobbs.com/cpp/184401689 | journal = C/C++ Users Journal | volume = 21 | issue = 8 | date = August 2003 }}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)