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
Library (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!
==File naming== ===Unix-like=== On most modern [[Unix-like]] systems, library files are stored in directories such as <code>/lib</code>, <code>/usr/lib</code> and <code>/usr/local/lib</code>. A filename typically starts with <code>lib</code>, and ends with <code>.a</code> for a static library ([[Ar (file format)|archive]]) or <code>.so</code> for a shared object (dynamically linked library). For example, <code>libfoo.a</code> and <code>libfoo.so</code>. Often, [[symbolic link]] files are used to manage versioning of a library by providing a link file named without a version that links to a file named with a version. For example, <code>libfoo.so.2</code> might be version 2 of library ''foo'' and a link file named <code>libfoo.so</code> provides a version independent name to that file that programs link to. The link file could be changed to a refer to a version 3 (<code>libfoo.so.3</code>) such that consuming programs will then use version 3 without having to change the program. Files with extension <code>.la</code> are [[libtool]] archives; not usable by the system. ===macOS=== {{see also|Dynamic linker#macOS and iOS}} The [[macOS]] system inherits static library conventions from [[BSD]], with the library stored in a <code>.a</code> file. It uses either <code>.so</code> or <code>.dylib</code> for dynamic libraries. Most libraries in macOS, however, consist of "frameworks", placed inside special directories called "[[Bundle (macOS)|bundles]]" which wrap the library's required files and metadata. For example, a framework called <code>Abc</code> would be implemented in a bundle called <code>Abc.framework</code>, with <code>Abc.framework/Abc</code> being either the dynamically linked library file or a symlink to the dynamically linked library file in <code>Abc.framework/Versions/Current/Abc</code>. ===Windows=== Often, a [[Microsoft Windows|Windows]] [[dynamic-link library]] (DLL) has the file extension <code>.dll</code>,<ref> {{cite book |last1 = Bresnahan |first1 = Christine |last2 = Blum |first2 = Richard |title = LPIC-1 Linux Professional Institute Certification Study Guide: Exam 101-400 and Exam 102-400 |url = https://books.google.com/books?id=jf3zBgAAQBAJ |publisher = John Wiley & Sons |publication-date = 2015 |page = 82 |isbn = 9781119021186 |access-date = 2015-09-03 |quote = Linux shared libraries are similar to the dynamic link libraries (DLLs) of Windows. Windows DLLs are usually identified by <code>.dll</code> filename extensions. |date = 2015-04-27 |url-status = live |archive-url = https://web.archive.org/web/20150924234210/https://books.google.com/books?id=jf3zBgAAQBAJ |archive-date = 24 September 2015 }} </ref> although sometimes different extensions are used to indicate general content, e.g. <code>.ocx</code> for a [[Object Linking and Embedding|OLE]] library. A <code>.lib</code> file can be either a static library or contain the information needed to build an application that consumes the associated DLL. In the latter case, the associated DLL file must be present at runtime.
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)