214:
544:(OOP) was becoming a significant part of the programming landscape. OOP with runtime binding requires additional information that traditional libraries do not supply. In addition to the names and entry points of the code located within, they also require a list of the objects they depend on. This is a side-effect of one of OOP's core concepts, inheritance, which means that parts of the complete definition of any method may be in different places. This is more than simply listing that one library requires the services of another: in a true OOP system, the libraries themselves may not be known at
47:
2653:
2663:
2673:
684:(RPC) over a network to another computer. This maximizes operating system re-use: the code needed to support the library is the same code being used to provide application support and security for every other program. Additionally, such systems do not require the library to exist on the same machine, but can forward the requests over the network.
193:, although programmers can also create their own custom libraries. Most modern software systems provide libraries that implement the majority of the system services. Such libraries have organized the services which a modern application requires. As such, most code used by modern applications is provided in these system libraries.
403:, even though internally referenced, can be discarded from the compiled application. For example, a program that only uses integers for arithmetic, or does no arithmetic operations at all, can exclude floating-point library routines. This smart-linking feature can lead to smaller application file sizes and reduced memory usage.
379:
program that searches a set of libraries and other modules in a given order. Usually it is not considered an error if a link target can be found multiple times in a given set of libraries. Linking may be done when an executable file is created (static linking), or whenever the program is used at
577:
For some time object libraries held the status of the "next big thing" in the programming world. There were a number of efforts to create systems that would run across platforms, and companies competed to try to get developers locked into their own system. Examples include
527:
Shared libraries can be statically linked during compile-time, meaning that references to the library modules are resolved and the modules are allocated memory when the executable file is created. But often linking of shared libraries is postponed until they are loaded.
387:
The references being resolved may be addresses for jumps and other routine calls. They may be in the main program, or in one module depending upon another. They are resolved into fixed or relocatable addresses (from a common base) by allocating runtime memory for the
779:(shared object, dynamically linked library). Some systems might have multiple names for a dynamically linked library. These names typically share the same prefix and have different suffixes indicating the version number. Most of the names are names for
687:
However, such an approach means that every library call requires a considerable amount of overhead. RPC calls are much more expensive than calling a shared library that has already been loaded on the same machine. This approach is commonly used in a
159:, a library function is invoked via C's normal function call capability. The linker generates code to call a function via the library mechanism if the function is available from a library instead of from the program itself.
260:
held the subroutine library for this computer. Programs for EDSAC consisted of a main program and a sequence of subroutines copied from the subroutine library. In 1951 the team published the first textbook on programming,
1450:
209:
suggested that computer operations could be punched on separate cards from numerical input. If these operation punch cards were saved for reuse then "by degrees the engine would have a library of its own."
139:
When writing code that uses a library, a programmer only needs to know high-level information such as what items it contains at and how to use the items – not all of the internal details of the library.
1491:
Byte Code
Generation Library is high level API to generate and transform JAVA byte code. It is used by AOP, testing, data access frameworks to generate dynamic proxy objects and intercept field access.
425:. In general, relocation cannot be done to individual libraries themselves because the addresses in memory may vary depending on the program using them and other libraries they are combined with.
566:
Soon the majority of the minicomputer and mainframe vendors instigated projects to combine the two, producing an OOP library format that could be used anywhere. Such systems were known as
125:
A library can be used by multiple, independent consumers (programs and other libraries). This differs from resources defined in a program which can usually only be used by that program.
417:
Some references in a program or library module are stored in a relative or symbolic form which cannot be resolved until all code and libraries are assigned final static addresses.
263:
470:
All of the modules required by a program are sometimes statically linked and copied into the executable file. This process, and the resulting stand-alone file, is known as a
559:
for data storage or processing. For instance, a program on a GUI-based computer would send messages to a minicomputer to return small samples of a huge dataset for display.
399:
whereby the linker is aware of or integrated with the compiler, such that the linker knows how external references are used, and code in a library that is never actually
170:. An alternative is to build the program executable to be separate from the library file. The library functions are connected after the executable is started, either at
574:, if they supported remote access (not all did). Microsoft's COM is an example of such a system for local use. DCOM, a modified version of COM, supports remote access.
2709:
1440:
551:
At the same time many developers worked on the idea of multi-tier programs, in which a "display" running on a desktop computer would use the services of a
467:, is one intended to be statically linked. Originally, only static libraries existed. Static linking must be performed when any modules are recompiled.
1091:
607:
1173:(1947). Planning and coding of problems for an electronic computing instrument (Report). Institute for Advanced Study. pp. 3, 21–22.
2702:
1689:
128:
When a consumer uses a library resource, it gains the value of the library without having to implement it itself. Libraries encourage
540:
until the late 1980s. It was generally available in some form in most operating systems by the early 1990s. During this same period,
213:
886:
files can be either static libraries or representations of dynamically linkable libraries needed only during compilation, known as "
724:, some data access frameworks, and for testing to generate dynamic proxy objects. They also are used to intercept field access.
2406:
2378:
3006:
2883:
2695:
2431:
1417:
1223:
1150:
1520:
3037:
2282:
1532:
Linux shared libraries are similar to the dynamic link libraries (DLLs) of
Windows. Windows DLLs are usually identified by
978:
217:
A woman working next to a filing cabinet containing the subroutine library on reels of punched tape for the EDSAC computer.
2436:
1708:
317:
1941:
1265:
680:
Another library technique uses completely separate executables (often in some lightweight form) and calls them using a
483:
829:
suffix instead). Most libraries in macOS, however, consist of "frameworks", placed inside special directories called "
2588:
2416:
1946:
1570:
1514:
1354:
1316:
709:
521:
381:
175:
1479:
2968:
2676:
1770:
17:
2064:
1273:
166:. If the code of the library is accessed during the build of the invoking program, then the library is called a
2938:
2355:
2317:
1974:
1682:
650:
591:
845:
being either the dynamically linked library file or being a symlink to the dynamically linked library file in
2497:
2474:
2204:
2194:
603:
475:
412:
887:
524:, rather than being copied by a linker when it creates a single monolithic executable file for the program.
2718:
2578:
2166:
2074:
1979:
1755:
1740:
1649:
875:
668:(such as Maven Central for Java). Client code explicitly declare the dependencies to external libraries in
599:
305:
By the mid 1960s, copy and macro libraries for assemblers were common. Starting with the popularity of the
90:
3032:
2983:
2666:
2401:
1899:
1597:
721:
717:
642:
638:
541:
324:
1639:
2823:
2638:
2287:
1661:
1561:. The Morgan Kaufmann Series in Software Engineering and Programming (1 ed.). San Francisco, USA:
870:, although other file name extensions may identify specific-purpose dynamically linked libraries, e.g.
443:
When linking is performed during the creation of an executable or another object file, it is known as
2973:
2876:
2818:
2787:
2656:
2583:
2558:
2421:
2069:
1675:
634:
426:
237:, an early computer that was not yet operational at that time. They envisioned a physical library of
1087:
2735:
2507:
2340:
1926:
1795:
1584:
972:
630:
332:
156:
902:
one must first know if it is a regular static library or an import library. In the latter case, a
878:
libraries. The interface revisions are either encoded in the file names, or abstracted away using
309:, libraries containing other types of text elements, e.g., system parameters, also became common.
2568:
2502:
2393:
2209:
1869:
999:
536:
Although originally pioneered in the 1960s, dynamic linking did not reach the most commonly-used
238:
163:
1308:
1298:
787:
would be the filename for the second major interface revision of the dynamically linked library
2792:
2633:
2464:
2345:
2112:
2102:
2097:
1009:
879:
611:
37:
This article is about a software development concept. For a repository of digital assets, see
2603:
2573:
2563:
2459:
2373:
2249:
2189:
2156:
2146:
2029:
1994:
1984:
1921:
1790:
1765:
1760:
1725:
1446:
689:
681:
649:) and the instantiated objects residing only in memory (although potentially able to be made
560:
313:
294:. FORTRAN subprograms can be compiled independently of each other, but the compiler lacked a
152:
1506:
LPIC-1 Linux
Professional Institute Certification Study Guide: Exam 101-400 and Exam 102-400
641:, or objects with their characteristics set to specific values. In some OOP languages, like
2869:
2802:
2363:
2335:
2307:
2302:
2131:
2107:
2059:
2042:
2037:
2019:
2009:
2004:
1966:
1916:
1911:
1828:
1774:
1630:
948: – Software component that adds a specific feature to an existing software application
933:
863:
645:, the distinction is clear, with the classes often contained in library files (like Java's
71:
8:
2978:
2767:
2628:
2553:
2469:
2454:
2219:
1999:
1956:
1848:
1838:
1810:
1624:
1005:
945:
697:
661:
that includes the entire state of the environment, classes and all instantiated objects.
583:
133:
1397:
833:" which wrap the library's required files and metadata. For example, a framework called
2845:
2833:
2740:
2593:
2492:
2368:
2325:
2234:
2176:
2161:
2151:
1936:
1735:
1409:
1243:
990:
984:
927:
921:
693:
665:
552:
452:
422:
371:
348:
295:
1599:
1555:(2000) . "Chapter 9: Shared Libraries & Chapter 10: Dynamic Linking and Loading".
421:
is the process of adjusting these references, and is done either by the linker or the
143:
Libraries can use other libraries resulting in a hierarchy of libraries in a program.
46:
2958:
2861:
2850:
2687:
2613:
2543:
2522:
2484:
2292:
2259:
2239:
1931:
1843:
1717:
1576:
1566:
1510:
1413:
1350:
1312:
1279:
1174:
1146:
899:
858:
646:
516:. Modules used by a program are loaded from individual shared objects into memory at
206:
186:
1617:
1247:
1203:. 1951 International Workshop on Managing Requirements Knowledge. IEEE. p. 79.
936: – Microsoft's implementation of the shared library concept in Windows and OS/2
2913:
2828:
2446:
2330:
2297:
2092:
2014:
1903:
1889:
1884:
1833:
1820:
1745:
1698:
1405:
1235:
1204:
1183:
it will probably be very important to develop an extensive "library" of subroutines
1170:
1166:
1138:
1067:
772:
587:
537:
509:
429:
avoids references to absolute addresses and therefore does not require relocation.
226:
222:
190:
75:
59:
31:
2923:
2517:
2411:
2383:
2277:
2229:
2214:
2199:
2054:
2049:
1989:
1879:
1853:
1805:
1750:
1643:
1562:
1504:
1439:
Collberg, Christian; Hartman, John H.; Babu, Sridivya; Udupa, Sharath K. (2003).
966:
202:
179:
162:
The functions of a library can be connected to the invoking program at different
67:
38:
1655:
924: – Computer program which combines multiple object files into a single file
286:
Another major contributor to the modern library concept came in the form of the
2963:
2838:
2782:
2755:
2623:
2527:
2426:
2272:
2244:
1608:
1552:
1304:
1261:
957:
830:
780:
669:
495:
479:
438:
389:
306:
274:
253:
245:
167:
3026:
2988:
2772:
2512:
1800:
1283:
960: – set of routines, external functions and variables in computer science
692:
that makes heavy use of such remote calls, notably client-server systems and
299:
1580:
1239:
1178:
1113:
629:
are the rough OOP equivalent of older types of code libraries. They contain
201:
The idea of a computer library dates back to the first computers created by
85:(generally called functions today). The concept now includes other forms of
2762:
2608:
2267:
1475:
1269:
1196:
1132:
1072:
658:
556:
545:
471:
369:
to library modules. The linking process is usually automatically done by a
257:
1471:
1208:
1142:
2896:
2797:
2777:
2598:
2224:
2136:
1021:
939:
563:(RPC) already handled these tasks, but there was no standard RPC system.
513:
234:
109:
102:
98:
2948:
2892:
2745:
2618:
2548:
2141:
1874:
1730:
915:
287:
283:
has a
Communication Pool (COMPOOL), roughly a library of header files.
230:
129:
86:
82:
51:
1303:. ACM Monograph Series. New York, NY: Academic Press (A subsidiary of
2123:
2084:
993: – standard library for Java and other JVM programming languages
738:
713:
654:
517:
344:
171:
1398:"Chapter 3 - Portable Executable and Executable and Linking Formats"
273:
included "primitive capabilities for a library system" in 1959, but
2928:
2184:
1667:
1618:
Faster C++ program startups by improving runtime linking efficiency
456:
50:
Illustration of an application which uses libvorbisfile to play an
894:
world, which uses different file extensions, when linking against
951:
796:
291:
277:
described them as "inadequate library facilities" in retrospect.
2953:
1556:
1015:
328:
280:
112:
instead of making those system calls directly in the program.
1275:
The
Preparation of Programs for an Electronic Digital Computer
1201:
1951 International
Workshop on Managing Requirements Knowledge
267:, which detailed the creation and the purpose of the library.
264:
The
Preparation of Programs for an Electronic Digital Computer
108:
For example, a program could use a library to indirectly make
2993:
2933:
2908:
808:
615:
270:
249:
94:
1636:
229:
speculated that it would be useful to create a "library" of
3011:
2943:
2918:
1602:
891:
637:) that involve objects. Class libraries are used to create
595:
30:"Software library" redirects here. Not to be confused with
657:, the class libraries are merely the starting point for a
27:
Collection of resources used to develop a computer program
814:
579:
298:. So prior to the introduction of modules in Fortran-90,
1438:
1064:
Metamorphic
Detection Using Function Call Graph Analysis
474:
of the program. A static build may not need any further
155:
by which the functionality is invoked. For example, in
1041:
It was possible earlier between, e.g., Ada subprograms.
987: – Standard library for the C programming language
942: – File containing relocatable format machine code
2891:
2717:
1509:. John Wiley & Sons (published 2015). p. 82.
1002: – Standard library of Microsoft's .NET Framework
918: – Use of existing software to build new software
1338:
795:
files sometimes found in the library directories are
633:, which describe characteristics and define actions (
1650:
2nd
Library-Centric Software Design Workshop LCSD'06
1637:
1st
Library-Centric Software Design Workshop LCSD'05
1363:
1165:
995:
Pages displaying wikidata descriptions as a fallback
962:
Pages displaying wikidata descriptions as a fallback
813:
The system inherits static library conventions from
783:
to the latest version. For example, on some systems
1349:. Wokingham, England: Addison-Wesley. p. 126.
1008: – Style of computer programming (used by the
672:configuration files (such as a Maven Pom in Java).
1503:Bresnahan, Christine; Blum, Richard (2015-04-27).
1376:
1325:
847:MyFramework.framework/Versions/Current/MyFramework
1290:
1260:
975: – Object Pascal framework for Windows (VCL)
451:. In this case, the linking is usually done by a
241:, with each wire storing reusable computer code.
3024:
882:interfaces. Depending on how they are compiled,
732:
395:Some programming languages use a feature called
151:A library of executable code has a well-defined
1080:
1445:. USENIX '05. Department of Computer Science,
1221:
825:-style dynamically linked libraries (with the
2877:
2703:
1707:Note: This template roughly follows the 2012
1683:
1658:by Ulrich Drepper (with much background info)
1502:
1066:(Thesis). San Jose State University Library.
1018: – Field of data in a shared object file
1345:Wilson, Leslie B.; Clark, Robert G. (1988).
1024: – Short and simple version of a method
799:archives, not usable by the system as such.
703:
361:process, which resolves references known as
302:between FORTRAN subprograms was impossible.
1344:
1278:. Addison-Wesley. pp. 45, 80–91, 100.
664:Today most class libraries are stored in a
508:is a file that is intended to be shared by
2884:
2870:
2710:
2696:
1690:
1676:
1224:"In Praise of 'Wilkes, Wheeler, and Gill'"
1296:
1222:Campbell-Kelly, Martin (September 2011).
1137:. Princeton: Princeton University Press.
1130:
1071:
1061:
708:Code generation libraries are high-level
1395:
837:would be implemented in a bundle called
212:
178:. In this case, the library is called a
45:
1134:The Computer from Pascal to von Neumann
1111:
353:Libraries are important in the program
101:. It can also refer to a collection of
14:
3025:
2407:Knowledge representation and reasoning
1551:
1194:
1118:Proceedings of the British Association
331:, developed in 1965, supported adding
2865:
2691:
2432:Philosophy of artificial intelligence
1671:
1402:Reverse Engineering Code with IDA Pro
81:Historically, a library consisted of
1751:Energy consumption (Green computing)
1697:
1633:- the Binary File Descriptor Library
979:Component Library for Cross Platform
852:
653:in separate files). In others, like
2437:Distributed artificial intelligence
1709:ACM Computing Classification System
1131:Goldstine, Herman H. (2008-12-31).
930: – Part of an operating system
675:
531:
489:
432:
24:
1942:Integrated development environment
1662:Anatomy of Linux dynamic libraries
1545:
1410:10.1016/b978-1-59749-237-9.00003-x
763:. The filenames always start with
621:
548:, and vary from system to system.
484:address space layout randomization
115:
93:and non-executable data including
25:
3049:
2417:Automated planning and scheduling
1947:Software configuration management
1347:Comparative Programming Languages
906:file must be present at runtime.
843:MyFramework.framework/MyFramework
2671:
2661:
2652:
2651:
1300:History of Programming Languages
969: – Type of software library
2662:
2065:Computational complexity theory
1625:How to Create Program Libraries
1587:from the original on 2012-12-05
1523:from the original on 2015-09-24
1496:
1482:from the original on 2010-01-12
1464:
1453:from the original on 2016-03-23
1442:SLINKY: Static Linking Reloaded
1432:
1389:
1094:from the original on 2013-07-03
1035:
817:, with the library stored in a
712:that can generate or transform
335:to libraries via its compiler.
314:IBM's OS/360 and its successors
1849:Network performance evaluation
1621:by Léon Bottou and John Ryland
1254:
1215:
1188:
1159:
1124:
1105:
1055:
727:
614:(COM/DCOM), and any number of
592:Distributed Objects Everywhere
455:, but may also be done by the
13:
1:
2220:Multimedia information system
2205:Geographic information system
2195:Enterprise information system
1784:Computer systems organization
1112:Babbage, H. P. (1888-09-12).
1048:
751:files in directories such as
733:Most modern Unix-like systems
413:Relocation (computer science)
406:
146:
66:is a collection of read-only
2719:Application binary interface
2579:Computational social science
2167:Theoretical computer science
1980:Software development process
1756:Electronic design automation
1741:Very Large Scale Integration
1656:How to create shared library
1404:. Elsevier. pp. 37–66.
600:Portable Distributed Objects
7:
3038:Operating system technology
2402:Natural language processing
2190:Information storage systems
1609:Beginner's Guide to Linkers
1297:Wexelblat, Richard (1981).
909:
767:, and end with a suffix of
722:aspect-oriented programming
542:object-oriented programming
392:of each module referenced.
325:object-oriented programming
10:
3054:
2824:Foreign function interface
2318:Human–computer interaction
2288:Intrusion detection system
2200:Social information systems
2185:Database management system
1062:Deshpande, Prasad (2013).
954:, also known as Prebinding
856:
806:
736:
493:
436:
410:
342:
338:
196:
120:
36:
29:
3002:
2904:
2819:Binary-code compatibility
2811:
2788:Position-independent code
2726:
2647:
2584:Computational engineering
2559:Computational mathematics
2536:
2483:
2445:
2392:
2354:
2316:
2258:
2175:
2121:
2083:
2028:
1965:
1898:
1862:
1819:
1783:
1716:
1705:
1472:"Code Generation Library"
1228:Communications of the ACM
704:Code generation libraries
427:Position-independent code
248:and his team constructed
244:Inspired by von Neumann,
70:that is leveraged during
2594:Computational healthcare
2589:Differentiable computing
2508:Graphics processing unit
1927:Domain-specific language
1796:Computational complexity
1028:
973:Visual Component Library
866:usually have the suffix
802:
775:, static library) or of
690:distributed architecture
239:magnetic wire recordings
164:program lifecycle phases
2569:Computational chemistry
2503:Photograph manipulation
2394:Artificial intelligence
2210:Decision support system
1240:10.1145/1995376.1995386
1114:"The Analytical Engine"
1000:Framework Class Library
205:. An 1888 paper on his
2634:Educational technology
2465:Reinforcement learning
2215:Process control system
2113:Computational geometry
2103:Algorithmic efficiency
2098:Analysis of algorithms
1746:Systems on Chip (SoCs)
1396:Kaminsky, Dan (2008).
1195:Wilkes, M. V. (1951).
1073:10.31979/etd.t9xm-ahsc
864:Dynamic-link libraries
612:Component Object Model
561:Remote procedure calls
233:for their work on the
218:
55:
3007:Comparison of formats
2604:Electronic publishing
2574:Computational biology
2564:Computational physics
2460:Unsupervised learning
2374:Distributed computing
2250:Information retrieval
2157:Mathematical analysis
2147:Mathematical software
2030:Theory of computation
1995:Software construction
1985:Requirements analysis
1863:Software organization
1791:Computer architecture
1761:Hardware acceleration
1726:Printed circuit board
1447:University of Arizona
1209:10.1109/afips.1951.13
1143:10.1515/9781400820139
839:MyFramework.framework
682:remote procedure call
216:
49:
2803:Virtual method table
2364:Concurrent computing
2336:Ubiquitous computing
2308:Application security
2303:Information security
2132:Discrete mathematics
2108:Randomized algorithm
2060:Computability theory
2038:Model of computation
2010:Software maintenance
2005:Software engineering
1967:Software development
1917:Programming language
1912:Programming paradigm
1829:Network architecture
1536:filename extensions.
1197:"The EDSAC Computer"
1010:C++ Standard Library
934:Dynamic-link library
698:Enterprise JavaBeans
318:partitioned data set
72:software development
2768:Memory segmentation
2639:Document management
2629:Operations research
2554:Enterprise software
2470:Multi-task learning
2455:Supervised learning
2177:Information systems
2000:Software deployment
1957:Software repository
1811:Real-time computing
1558:Linkers and Loaders
1006:Generic programming
720:. They are used by
694:application servers
584:System Object Model
572:distributed objects
512:and further shared
463:, also known as an
384:(dynamic linking).
3033:Computer libraries
2741:Calling convention
2422:Search methodology
2369:Parallel computing
2326:Interaction design
2235:Computing platform
2162:Numerical analysis
2152:Information theory
1937:Software framework
1900:Software notations
1839:Network components
1736:Integrated circuit
1642:2019-08-28 at the
1369:Wilson and Clark,
1088:"Static Libraries"
991:Java Class Library
985:C standard library
928:Loader (computing)
922:Linker (computing)
821:file, and can use
743:The system stores
666:package repository
349:Linker (computing)
219:
187:compiled languages
56:
3020:
3019:
2859:
2858:
2851:Year 2038 problem
2685:
2684:
2614:Electronic voting
2544:Quantum Computing
2537:Applied computing
2523:Image compression
2293:Hardware security
2283:Security services
2240:Digital marketing
2020:Open-source model
1932:Modeling language
1844:Network scheduler
1612:by David Drysdale
1419:978-1-59749-237-9
1171:von Neumann, John
1167:Goldstine, Herman
1152:978-1-4008-2013-9
890:". Unlike in the
859:Microsoft Windows
853:Microsoft Windows
538:operating systems
316:this is called a
207:Analytical Engine
16:(Redirected from
3045:
2886:
2879:
2872:
2863:
2862:
2829:Language binding
2712:
2705:
2698:
2689:
2688:
2675:
2674:
2665:
2664:
2655:
2654:
2475:Cross-validation
2447:Machine learning
2331:Social computing
2298:Network security
2093:Algorithm design
2015:Programming team
1975:Control variable
1952:Software library
1890:Software quality
1885:Operating system
1834:Network protocol
1699:Computer science
1692:
1685:
1678:
1669:
1668:
1595:
1593:
1592:
1539:
1538:
1535:
1529:
1528:
1500:
1494:
1493:
1488:
1487:
1468:
1462:
1461:
1459:
1458:
1436:
1430:
1429:
1427:
1426:
1393:
1387:
1380:
1374:
1367:
1361:
1360:
1342:
1336:
1329:
1323:
1322:
1294:
1288:
1287:
1258:
1252:
1251:
1219:
1213:
1212:
1192:
1186:
1185:
1163:
1157:
1156:
1128:
1122:
1121:
1109:
1103:
1102:
1100:
1099:
1084:
1078:
1077:
1075:
1059:
1042:
1039:
996:
963:
905:
897:
888:import libraries
885:
873:
869:
848:
844:
840:
836:
828:
824:
820:
794:
790:
786:
778:
770:
766:
762:
758:
754:
750:
746:
676:Remote libraries
618:-based systems.
588:Sun Microsystems
568:object libraries
532:Object libraries
510:executable files
490:Shared libraries
433:Static libraries
191:standard library
76:computer program
60:computer science
32:library software
21:
18:Software library
3053:
3052:
3048:
3047:
3046:
3044:
3043:
3042:
3023:
3022:
3021:
3016:
2998:
2900:
2890:
2860:
2855:
2807:
2728:
2722:
2716:
2686:
2681:
2672:
2643:
2624:Word processing
2532:
2518:Virtual reality
2479:
2441:
2412:Computer vision
2388:
2384:Multiprocessing
2350:
2312:
2278:Security hacker
2254:
2230:Digital library
2171:
2122:Mathematics of
2117:
2079:
2055:Automata theory
2050:Formal language
2024:
1990:Software design
1961:
1894:
1880:Virtual machine
1858:
1854:Network service
1815:
1806:Embedded system
1779:
1712:
1701:
1696:
1644:Wayback Machine
1627:by Baris Simsek
1590:
1588:
1573:
1563:Morgan Kaufmann
1553:Levine, John R.
1548:
1546:Further reading
1543:
1542:
1533:
1526:
1524:
1517:
1501:
1497:
1485:
1483:
1470:
1469:
1465:
1456:
1454:
1437:
1433:
1424:
1422:
1420:
1394:
1390:
1381:
1377:
1368:
1364:
1357:
1343:
1339:
1330:
1326:
1319:
1295:
1291:
1262:Wilkes, Maurice
1259:
1255:
1220:
1216:
1193:
1189:
1164:
1160:
1153:
1129:
1125:
1110:
1106:
1097:
1095:
1086:
1085:
1081:
1060:
1056:
1051:
1046:
1045:
1040:
1036:
1031:
994:
967:Runtime library
961:
912:
903:
895:
883:
871:
867:
861:
855:
846:
842:
838:
834:
826:
822:
818:
811:
805:
792:
788:
784:
776:
768:
764:
760:
756:
752:
748:
744:
741:
735:
730:
706:
678:
647:JAR file format
627:Class libraries
624:
622:Class libraries
534:
498:
492:
482:is used and no
441:
435:
415:
409:
390:memory segments
351:
343:Main articles:
341:
203:Charles Babbage
199:
180:dynamic library
149:
123:
118:
116:Characteristics
89:code including
74:to implement a
42:
39:Digital library
35:
28:
23:
22:
15:
12:
11:
5:
3051:
3041:
3040:
3035:
3018:
3017:
3015:
3014:
3009:
3003:
3000:
2999:
2997:
2996:
2991:
2986:
2981:
2976:
2971:
2966:
2961:
2956:
2951:
2946:
2941:
2936:
2931:
2926:
2921:
2916:
2911:
2905:
2902:
2901:
2889:
2888:
2881:
2874:
2866:
2857:
2856:
2854:
2853:
2848:
2843:
2842:
2841:
2831:
2826:
2821:
2815:
2813:
2812:Related topics
2809:
2808:
2806:
2805:
2800:
2795:
2790:
2785:
2783:Opaque pointer
2780:
2775:
2770:
2765:
2760:
2759:
2758:
2748:
2743:
2738:
2732:
2730:
2724:
2723:
2715:
2714:
2707:
2700:
2692:
2683:
2682:
2680:
2679:
2669:
2659:
2648:
2645:
2644:
2642:
2641:
2636:
2631:
2626:
2621:
2616:
2611:
2606:
2601:
2596:
2591:
2586:
2581:
2576:
2571:
2566:
2561:
2556:
2551:
2546:
2540:
2538:
2534:
2533:
2531:
2530:
2528:Solid modeling
2525:
2520:
2515:
2510:
2505:
2500:
2495:
2489:
2487:
2481:
2480:
2478:
2477:
2472:
2467:
2462:
2457:
2451:
2449:
2443:
2442:
2440:
2439:
2434:
2429:
2427:Control method
2424:
2419:
2414:
2409:
2404:
2398:
2396:
2390:
2389:
2387:
2386:
2381:
2379:Multithreading
2376:
2371:
2366:
2360:
2358:
2352:
2351:
2349:
2348:
2343:
2338:
2333:
2328:
2322:
2320:
2314:
2313:
2311:
2310:
2305:
2300:
2295:
2290:
2285:
2280:
2275:
2273:Formal methods
2270:
2264:
2262:
2256:
2255:
2253:
2252:
2247:
2245:World Wide Web
2242:
2237:
2232:
2227:
2222:
2217:
2212:
2207:
2202:
2197:
2192:
2187:
2181:
2179:
2173:
2172:
2170:
2169:
2164:
2159:
2154:
2149:
2144:
2139:
2134:
2128:
2126:
2119:
2118:
2116:
2115:
2110:
2105:
2100:
2095:
2089:
2087:
2081:
2080:
2078:
2077:
2072:
2067:
2062:
2057:
2052:
2047:
2046:
2045:
2034:
2032:
2026:
2025:
2023:
2022:
2017:
2012:
2007:
2002:
1997:
1992:
1987:
1982:
1977:
1971:
1969:
1963:
1962:
1960:
1959:
1954:
1949:
1944:
1939:
1934:
1929:
1924:
1919:
1914:
1908:
1906:
1896:
1895:
1893:
1892:
1887:
1882:
1877:
1872:
1866:
1864:
1860:
1859:
1857:
1856:
1851:
1846:
1841:
1836:
1831:
1825:
1823:
1817:
1816:
1814:
1813:
1808:
1803:
1798:
1793:
1787:
1785:
1781:
1780:
1778:
1777:
1768:
1763:
1758:
1753:
1748:
1743:
1738:
1733:
1728:
1722:
1720:
1714:
1713:
1706:
1703:
1702:
1695:
1694:
1687:
1680:
1672:
1666:
1665:
1659:
1653:
1647:
1634:
1628:
1622:
1613:
1604:
1571:
1547:
1544:
1541:
1540:
1515:
1495:
1463:
1431:
1418:
1388:
1375:
1362:
1355:
1337:
1324:
1317:
1305:Harcourt Brace
1289:
1266:Wheeler, David
1253:
1214:
1187:
1158:
1151:
1123:
1104:
1079:
1053:
1052:
1050:
1047:
1044:
1043:
1033:
1032:
1030:
1027:
1026:
1025:
1019:
1013:
1003:
997:
988:
982:
976:
970:
964:
958:Static library
955:
949:
943:
937:
931:
925:
919:
911:
908:
854:
851:
804:
801:
781:symbolic links
761:/usr/local/lib
734:
731:
729:
726:
705:
702:
677:
674:
623:
620:
610:, Microsoft's
533:
530:
502:shared library
496:Shared library
494:Main article:
491:
488:
480:virtual memory
461:static library
445:static linking
439:Static library
437:Main article:
434:
431:
411:Main article:
408:
405:
340:
337:
307:IBM System/360
290:innovation of
254:filing cabinet
198:
195:
168:static library
148:
145:
122:
119:
117:
114:
26:
9:
6:
4:
3:
2:
3050:
3039:
3036:
3034:
3031:
3030:
3028:
3013:
3010:
3008:
3005:
3004:
3001:
2995:
2992:
2990:
2987:
2985:
2982:
2980:
2977:
2975:
2972:
2970:
2967:
2965:
2962:
2960:
2957:
2955:
2952:
2950:
2947:
2945:
2942:
2940:
2937:
2935:
2932:
2930:
2927:
2925:
2922:
2920:
2917:
2915:
2912:
2910:
2907:
2906:
2903:
2898:
2894:
2887:
2882:
2880:
2875:
2873:
2868:
2867:
2864:
2852:
2849:
2847:
2844:
2840:
2837:
2836:
2835:
2832:
2830:
2827:
2825:
2822:
2820:
2817:
2816:
2814:
2810:
2804:
2801:
2799:
2796:
2794:
2791:
2789:
2786:
2784:
2781:
2779:
2776:
2774:
2773:Name mangling
2771:
2769:
2766:
2764:
2761:
2757:
2754:
2753:
2752:
2749:
2747:
2744:
2742:
2739:
2737:
2734:
2733:
2731:
2725:
2720:
2713:
2708:
2706:
2701:
2699:
2694:
2693:
2690:
2678:
2670:
2668:
2660:
2658:
2650:
2649:
2646:
2640:
2637:
2635:
2632:
2630:
2627:
2625:
2622:
2620:
2617:
2615:
2612:
2610:
2607:
2605:
2602:
2600:
2597:
2595:
2592:
2590:
2587:
2585:
2582:
2580:
2577:
2575:
2572:
2570:
2567:
2565:
2562:
2560:
2557:
2555:
2552:
2550:
2547:
2545:
2542:
2541:
2539:
2535:
2529:
2526:
2524:
2521:
2519:
2516:
2514:
2513:Mixed reality
2511:
2509:
2506:
2504:
2501:
2499:
2496:
2494:
2491:
2490:
2488:
2486:
2482:
2476:
2473:
2471:
2468:
2466:
2463:
2461:
2458:
2456:
2453:
2452:
2450:
2448:
2444:
2438:
2435:
2433:
2430:
2428:
2425:
2423:
2420:
2418:
2415:
2413:
2410:
2408:
2405:
2403:
2400:
2399:
2397:
2395:
2391:
2385:
2382:
2380:
2377:
2375:
2372:
2370:
2367:
2365:
2362:
2361:
2359:
2357:
2353:
2347:
2346:Accessibility
2344:
2342:
2341:Visualization
2339:
2337:
2334:
2332:
2329:
2327:
2324:
2323:
2321:
2319:
2315:
2309:
2306:
2304:
2301:
2299:
2296:
2294:
2291:
2289:
2286:
2284:
2281:
2279:
2276:
2274:
2271:
2269:
2266:
2265:
2263:
2261:
2257:
2251:
2248:
2246:
2243:
2241:
2238:
2236:
2233:
2231:
2228:
2226:
2223:
2221:
2218:
2216:
2213:
2211:
2208:
2206:
2203:
2201:
2198:
2196:
2193:
2191:
2188:
2186:
2183:
2182:
2180:
2178:
2174:
2168:
2165:
2163:
2160:
2158:
2155:
2153:
2150:
2148:
2145:
2143:
2140:
2138:
2135:
2133:
2130:
2129:
2127:
2125:
2120:
2114:
2111:
2109:
2106:
2104:
2101:
2099:
2096:
2094:
2091:
2090:
2088:
2086:
2082:
2076:
2073:
2071:
2068:
2066:
2063:
2061:
2058:
2056:
2053:
2051:
2048:
2044:
2041:
2040:
2039:
2036:
2035:
2033:
2031:
2027:
2021:
2018:
2016:
2013:
2011:
2008:
2006:
2003:
2001:
1998:
1996:
1993:
1991:
1988:
1986:
1983:
1981:
1978:
1976:
1973:
1972:
1970:
1968:
1964:
1958:
1955:
1953:
1950:
1948:
1945:
1943:
1940:
1938:
1935:
1933:
1930:
1928:
1925:
1923:
1920:
1918:
1915:
1913:
1910:
1909:
1907:
1905:
1901:
1897:
1891:
1888:
1886:
1883:
1881:
1878:
1876:
1873:
1871:
1868:
1867:
1865:
1861:
1855:
1852:
1850:
1847:
1845:
1842:
1840:
1837:
1835:
1832:
1830:
1827:
1826:
1824:
1822:
1818:
1812:
1809:
1807:
1804:
1802:
1801:Dependability
1799:
1797:
1794:
1792:
1789:
1788:
1786:
1782:
1776:
1772:
1769:
1767:
1764:
1762:
1759:
1757:
1754:
1752:
1749:
1747:
1744:
1742:
1739:
1737:
1734:
1732:
1729:
1727:
1724:
1723:
1721:
1719:
1715:
1710:
1704:
1700:
1693:
1688:
1686:
1681:
1679:
1674:
1673:
1670:
1663:
1660:
1657:
1654:
1651:
1648:
1645:
1641:
1638:
1635:
1632:
1629:
1626:
1623:
1620:
1619:
1614:
1611:
1610:
1605:
1603:
1600:
1598:
1586:
1582:
1578:
1574:
1572:1-55860-496-0
1568:
1564:
1560:
1559:
1554:
1550:
1549:
1537:
1522:
1518:
1516:9781119021186
1512:
1508:
1507:
1499:
1492:
1481:
1477:
1473:
1467:
1452:
1448:
1444:
1443:
1435:
1421:
1415:
1411:
1407:
1403:
1399:
1392:
1385:
1379:
1372:
1366:
1358:
1356:0-201-18483-4
1352:
1348:
1341:
1334:
1328:
1320:
1318:0-12-745040-8
1314:
1310:
1306:
1302:
1301:
1293:
1285:
1281:
1277:
1276:
1271:
1270:Gill, Stanley
1267:
1263:
1257:
1249:
1245:
1241:
1237:
1233:
1229:
1225:
1218:
1210:
1206:
1202:
1198:
1191:
1184:
1180:
1176:
1172:
1168:
1162:
1154:
1148:
1144:
1140:
1136:
1135:
1127:
1119:
1115:
1108:
1093:
1089:
1083:
1074:
1069:
1065:
1058:
1054:
1038:
1034:
1023:
1020:
1017:
1014:
1011:
1007:
1004:
1001:
998:
992:
989:
986:
983:
980:
977:
974:
971:
968:
965:
959:
956:
953:
950:
947:
944:
941:
938:
935:
932:
929:
926:
923:
920:
917:
914:
913:
907:
901:
893:
889:
881:
877:
865:
860:
850:
832:
816:
810:
800:
798:
782:
774:
740:
725:
723:
719:
715:
711:
701:
699:
695:
691:
685:
683:
673:
671:
667:
662:
660:
656:
652:
648:
644:
640:
636:
632:
628:
619:
617:
613:
609:
605:
601:
597:
593:
589:
585:
581:
575:
573:
569:
564:
562:
558:
554:
549:
547:
543:
539:
529:
525:
523:
519:
515:
511:
507:
506:shared object
503:
497:
487:
485:
481:
477:
473:
468:
466:
462:
458:
454:
450:
449:early binding
446:
440:
430:
428:
424:
420:
414:
404:
402:
398:
397:smart linking
393:
391:
385:
383:
378:
374:
373:
368:
364:
360:
356:
350:
346:
336:
334:
330:
326:
321:
319:
315:
310:
308:
303:
301:
300:type checking
297:
293:
289:
284:
282:
278:
276:
272:
268:
266:
265:
259:
255:
251:
247:
242:
240:
236:
232:
228:
224:
215:
211:
208:
204:
194:
192:
188:
183:
181:
177:
173:
169:
165:
160:
158:
154:
144:
141:
137:
135:
131:
126:
113:
111:
106:
104:
100:
96:
92:
88:
84:
79:
77:
73:
69:
65:
61:
53:
48:
44:
40:
33:
19:
2763:Machine code
2750:
2609:Cyberwarfare
2268:Cryptography
1951:
1652:at OOPSLA'06
1646:at OOPSLA'05
1616:
1607:
1589:. Retrieved
1557:
1531:
1525:. Retrieved
1505:
1498:
1490:
1484:. Retrieved
1476:Source Forge
1466:
1455:. Retrieved
1441:
1434:
1423:. Retrieved
1401:
1391:
1383:
1378:
1370:
1365:
1346:
1340:
1332:
1327:
1299:
1292:
1274:
1256:
1234:(9): 25–27.
1231:
1227:
1217:
1200:
1190:
1182:
1161:
1133:
1126:
1117:
1107:
1096:. Retrieved
1082:
1063:
1057:
1037:
862:
812:
742:
707:
686:
679:
663:
659:system image
626:
625:
608:ObjectBroker
586:(SOM/DSOM),
576:
571:
567:
565:
557:minicomputer
550:
546:compile time
535:
526:
514:object files
505:
501:
499:
486:is desired.
472:static build
469:
464:
460:
448:
444:
442:
418:
416:
400:
396:
394:
386:
376:
370:
366:
362:
358:
354:
352:
322:
311:
304:
285:
279:
269:
262:
258:punched tape
243:
220:
200:
184:
161:
150:
142:
138:
127:
124:
110:system calls
107:
80:
63:
57:
43:
2897:object file
2798:System call
2778:Object code
2729:conventions
2619:Video games
2599:Digital art
2356:Concurrency
2225:Data mining
2137:Probability
1870:Interpreter
1382:Wexelblat,
1331:Wexelblat,
1307:). p.
1022:Method stub
940:Object file
835:MyFramework
785:libfoo.so.2
728:File naming
275:Jean Sammet
235:IAS machine
231:subroutines
227:von Neumann
103:source code
83:subroutines
3027:Categories
2893:Executable
2793:Relocation
2746:Call stack
2677:Glossaries
2549:E-commerce
2142:Statistics
2085:Algorithms
2043:Stochastic
1875:Middleware
1731:Peripheral
1664:at IBM.com
1591:2020-01-12
1527:2015-09-03
1486:2010-03-03
1457:2016-03-17
1425:2021-05-27
1098:2013-10-03
1049:References
916:Code reuse
880:COM-object
857:See also:
807:See also:
737:See also:
651:persistent
476:relocation
419:Relocation
407:Relocation
327:language,
323:The first
288:subprogram
147:Executable
130:code reuse
87:executable
52:Ogg Vorbis
2736:Alignment
2498:Rendering
2493:Animation
2124:computing
2075:Semantics
1766:Processor
1284:641145988
749:libfoo.so
739:Unix-like
714:byte code
655:Smalltalk
639:instances
553:mainframe
518:load time
345:Link time
223:Goldstine
172:load-time
153:interface
136:fashion.
68:resources
2657:Category
2485:Graphics
2260:Security
1922:Compiler
1821:Networks
1718:Hardware
1640:Archived
1615:Article
1606:Article
1601:Errata:
1585:Archived
1581:42413382
1521:Archived
1480:Archived
1451:Archived
1386:, p. 716
1384:op. cit.
1371:op. cit.
1335:, p. 258
1333:op. cit.
1272:(1951).
1248:20261972
1179:26239859
1092:Archived
1090:. TLDP.
910:See also
898:file in
757:/usr/lib
745:libfoo.a
696:such as
457:compiler
221:In 1947
2899:formats
2839:dynamic
2751:Library
2667:Outline
1373:, p. 52
1120:. Bath.
952:Prelink
946:Plug-in
900:Windows
841:, with
831:bundles
797:libtool
773:archive
635:methods
631:classes
604:Digital
602:(PDO),
594:(DOE),
522:runtime
465:archive
382:runtime
367:symbols
359:binding
355:linking
339:Linking
333:classes
292:FORTRAN
197:History
189:have a
176:runtime
134:modular
121:General
91:classes
64:library
2974:OS/360
2954:Mach-O
2846:Loader
2834:Linker
2756:static
2727:Parts,
1596:Code:
1579:
1569:
1513:
1416:
1353:
1315:
1282:
1246:
1177:
1149:
1016:soname
827:.dylib
791:. The
789:libfoo
453:linker
423:loader
377:binder
372:linker
329:Simula
296:linker
281:JOVIAL
246:Wilkes
95:images
2994:XCOFF
2934:ECOFF
2909:a.out
2721:(ABI)
2070:Logic
1904:tools
1244:S2CID
1029:Notes
981:(CLX)
884:*.LIB
872:*.OCX
868:*.DLL
809:macOS
803:macOS
670:build
616:CORBA
570:, or
363:links
271:COBOL
250:EDSAC
185:Most
132:in a
3012:.exe
2949:Hunk
2944:GOFF
2919:COFF
2895:and
1902:and
1775:Form
1771:Size
1577:OCLC
1567:ISBN
1534:.dll
1511:ISBN
1414:ISBN
1351:ISBN
1313:ISBN
1280:OCLC
1175:OCLC
1147:ISBN
904:.DLL
896:.LIB
892:UNIX
874:for
753:/lib
747:and
718:Java
716:for
710:APIs
643:Java
596:NeXT
459:. A
401:used
347:and
252:. A
225:and
99:text
97:and
62:, a
54:file
2984:PEF
2969:OMF
2939:ELF
2929:COM
2924:CMD
2914:AIF
1631:BFD
1406:doi
1309:274
1236:doi
1205:doi
1139:doi
1068:doi
876:OLE
823:.so
815:BSD
793:.la
777:.so
765:lib
759:or
606:'s
598:'s
582:'s
580:IBM
555:or
520:or
504:or
478:if
447:or
375:or
365:or
357:or
312:In
256:of
174:or
105:.
58:In
3029::
2979:PE
2964:NE
2959:MZ
1773:/
1583:.
1575:.
1565:.
1530:.
1519:.
1489:.
1478:.
1474:.
1449:.
1412:.
1400:.
1311:.
1268:;
1264:;
1242:.
1232:54
1230:.
1226:.
1199:.
1181:.
1169:;
1145:.
1116:.
849:.
819:.a
769:.a
755:,
700:.
590:'
500:A
320:.
182:.
78:.
2989:X
2885:e
2878:t
2871:v
2711:e
2704:t
2697:v
1711:.
1691:e
1684:t
1677:v
1594:.
1460:.
1428:.
1408::
1359:.
1321:.
1286:.
1250:.
1238::
1211:.
1207::
1155:.
1141::
1101:.
1076:.
1070::
1012:)
771:(
157:C
41:.
34:.
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.