Copyright (c) Hyperion Entertainment and contributors.
Difference between revisions of "Libraries"
Steven Solie (talk | contribs) |
(Added introduction and titles Shared Libraries, Linked Libraries, and Static Libraries. Listed linked libraries and rearranged the page content under the new titles.) |
||
Line 1: | Line 1: | ||
− | == |
+ | == Introduction == |
+ | |||
+ | A library is a collection of related set of functions and data. For example, the AmigaOS's DOS library contains the functions for accessing the files and directories and the Intuition library contains the graphical user interface functions. |
||
+ | |||
+ | There are three types of libraries: '''dynamically-loaded shared libraries''', '''dynamically linked libraries''', and '''static libraries'''. Shared libraries are shared by the running programs - only one copy of a library exists in the memory no matter how many programs are using it. All AmigaOS's libraries are shared libraries. The shared library files can be recognized from the '''.library''' suffix. |
||
+ | |||
+ | A dynamically linked library is attached to a program at the load time, just before the program is executed. Linked library functions cannot be shared by the programs and several copies of the library functions may exist in the memory. The linked library files can be recognized from the '''.so''' suffix. |
||
+ | |||
+ | A static library is like linked library except it is attached permanently to a program when it was created. This makes it impossible user to update the library the program is using. Static libraries are supplied with the programming language. |
||
+ | |||
+ | == Shared Libraries == |
||
+ | === AmigaDOS === |
||
[[AmigaDOS Introduction]] |
[[AmigaDOS Introduction]] |
||
Line 19: | Line 30: | ||
:[[AmigaDOS Device Input and Output|Device Input and Output]] |
:[[AmigaDOS Device Input and Output|Device Input and Output]] |
||
− | == User Interface Libraries == |
+ | === User Interface Libraries === |
[[Intuition Library]] |
[[Intuition Library]] |
||
Line 74: | Line 85: | ||
[[Preferences]] |
[[Preferences]] |
||
− | == Graphics Libraries == |
+ | === Graphics Libraries === |
[[Graphics Library]] |
[[Graphics Library]] |
||
Line 92: | Line 103: | ||
[[Layers Library]] |
[[Layers Library]] |
||
− | == Additional Libraries == |
+ | === Additional Libraries === |
[[AmigaGuide Library]] |
[[AmigaGuide Library]] |
||
Line 119: | Line 130: | ||
[[DiskIO Library|Disk I/O Library]] |
[[DiskIO Library|Disk I/O Library]] |
||
− | == |
+ | === 68k Libraries === |
+ | |||
+ | [[Math Libraries]] |
||
+ | |||
+ | === Third-Party Libraries === |
||
[[Expat Library]] |
[[Expat Library]] |
||
Line 125: | Line 140: | ||
[[Filesysbox Library]] |
[[Filesysbox Library]] |
||
− | == |
+ | == Linked Libraries == |
+ | libao |
||
− | [[Linker Libraries]] |
||
+ | libbz2 |
||
− | == 68k Libraries == |
||
+ | libc |
||
− | [[Math Libraries]] |
||
+ | |||
+ | libcairo |
||
+ | |||
+ | libcurl |
||
+ | |||
+ | libdl |
||
+ | |||
+ | libexpat |
||
+ | |||
+ | libfontconfig |
||
+ | |||
+ | libfreetype |
||
+ | |||
+ | libgcc |
||
+ | |||
+ | libgcov |
||
+ | |||
+ | libicudata |
||
+ | |||
+ | libicuuc |
||
+ | |||
+ | libjpeg |
||
+ | |||
+ | libntfs |
||
+ | |||
+ | libogg |
||
+ | |||
+ | libpixman |
||
+ | |||
+ | linpng |
||
+ | |||
+ | libpng12 |
||
+ | |||
+ | libpthread |
||
+ | |||
+ | libpython |
||
+ | |||
+ | libSDL |
||
+ | |||
+ | libSDL_gfx |
||
+ | |||
+ | linsqlite |
||
+ | |||
+ | libssl |
||
+ | |||
+ | libstdc++ |
||
+ | |||
+ | libvorbis |
||
+ | |||
+ | libvorbisenc |
||
+ | |||
+ | libvorbisfile |
||
+ | |||
+ | libxml |
||
+ | |||
+ | libxslt |
||
+ | |||
+ | libz |
||
+ | |||
+ | == Static Libraries == |
||
+ | |||
+ | [[Linker Libraries]] |
Revision as of 18:19, 20 September 2018
Contents
Introduction
A library is a collection of related set of functions and data. For example, the AmigaOS's DOS library contains the functions for accessing the files and directories and the Intuition library contains the graphical user interface functions.
There are three types of libraries: dynamically-loaded shared libraries, dynamically linked libraries, and static libraries. Shared libraries are shared by the running programs - only one copy of a library exists in the memory no matter how many programs are using it. All AmigaOS's libraries are shared libraries. The shared library files can be recognized from the .library suffix.
A dynamically linked library is attached to a program at the load time, just before the program is executed. Linked library functions cannot be shared by the programs and several copies of the library functions may exist in the memory. The linked library files can be recognized from the .so suffix.
A static library is like linked library except it is attached permanently to a program when it was created. This makes it impossible user to update the library the program is using. Static libraries are supplied with the programming language.
AmigaDOS
- Data Structures
- Program Startup
- Basic Input and Output Programming
- Executing External Programs
- Cooperative Record Locking
- Notification
- Path Name Handling
- Pattern Matching
- Multiple Assigns
- Packets
- Vector-Port
- Hard and Soft Links
- Writing a UserShell
- Device Input and Output
User Interface Libraries
- Screens
- Windows
- Gadgets
- Menus
- Requesters
- Alerts
- Images, Line Drawing and Text
- Input and Output Methods
- Mouse
- Keyboard
- Pointer
- Special Functions
- BOOPSI - Object Oriented Intuition
Graphics Libraries
- Display Database
- Primitives
- Sprites, Bobs and Animation
- Text
- Regions
- Composited Video
- Video Overlay
- Minterms
Additional Libraries
68k Libraries
Third-Party Libraries
Linked Libraries
libao
libbz2
libc
libcairo
libcurl
libdl
libexpat
libfontconfig
libfreetype
libgcc
libgcov
libicudata
libicuuc
libjpeg
libntfs
libogg
libpixman
linpng
libpng12
libpthread
libpython
libSDL
libSDL_gfx
linsqlite
libssl
libstdc++
libvorbis
libvorbisenc
libvorbisfile
libxml
libxslt
libz