Copyright (c) Hyperion Entertainment and contributors.
Difference between revisions of "Libraries"
Steven Solie (talk | contribs) |
m |
||
(37 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | == |
+ | == Introduction == |
+ | A library is a set of related functions and data. For example, the AmigaOS's DOS library contains functions for accessing files and directories, and the Intuition library contains the graphical user interface functions. |
||
− | [[AmigaDOS Introduction]] |
||
+ | 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. |
||
− | [[AmigaDOS Programming]] |
||
+ | A dynamically linked library is attached to a program during the load time, just before the program is executed. Linked library functions can't be shared by programs, and several copies of the library functions may exist in the memory. The linked library files can be recognized from the '''.so''' suffix. |
||
− | [[AmigaDOS Device Input and Output]] |
||
+ | A static library is like a linked library except it is attached permanently to a program when it is created. This makes it impossible for the user to update the library the program is using. Static libraries are supplied with programming languages. |
||
− | [[AmigaDOS Filing System]] |
||
+ | == Shared Libraries == |
||
− | [[AmigaDOS Data Structures]] |
||
+ | === AmigaDOS === |
||
− | [[AmigaDOS |
+ | [[AmigaDOS Introduction]] |
− | |||
− | [[AmigaDOS Vector-Port]] |
||
− | |||
− | [[Advanced Information]] |
||
− | |||
− | [[Cooperative Record Locking]] |
||
− | [[ |
+ | [[DOS Library]] |
+ | :[[AmigaDOS Data Structures|Data Structures]] |
||
+ | :[[Program Startup]] |
||
+ | :[[Basic Input and Output Programming]] |
||
+ | :[[Executing External Programs]] |
||
+ | :[[Cooperative Record Locking]] |
||
+ | :[[Notification]] |
||
+ | :[[Path Name Handling]] |
||
+ | :[[Pattern Matching]] |
||
+ | :[[Multiple Assigns]] |
||
+ | :[[AmigaDOS Packets|Packets]] |
||
+ | :[[AmigaDOS Vector-Port|Vector-Port]] |
||
+ | :[[Hard and Soft Links]] |
||
+ | :[[Writing a UserShell]] |
||
+ | :[[AmigaDOS Device Input and Output|Device Input and Output]] |
||
+ | === User Interface Libraries === |
||
− | [[Notification]] |
||
− | |||
− | [[Path Name Handling]] |
||
− | |||
− | [[Pattern Matching]] |
||
− | |||
− | [[Multiple Assigns]] |
||
− | |||
− | == User Interface Libraries == |
||
[[Intuition Library]] |
[[Intuition Library]] |
||
Line 36: | Line 37: | ||
::[[Public_Screen_Type|Public Screen Type]] |
::[[Public_Screen_Type|Public Screen Type]] |
||
:[[Intuition Windows|Windows]] |
:[[Intuition Windows|Windows]] |
||
+ | ::[[Window Types|Types]] |
||
+ | ::[[Window Structures and Functions|Structures and Functions]] |
||
+ | ::[[Window Communication|Communicating with Intuition]] |
||
+ | ::[[Window Display Preservation|Display Preservation]] |
||
:[[Intuition Gadgets|Gadgets]] |
:[[Intuition Gadgets|Gadgets]] |
||
::[[Boolean_Gadget_Type|Boolean Gadget Type]] |
::[[Boolean_Gadget_Type|Boolean Gadget Type]] |
||
Line 41: | Line 46: | ||
::[[String_Gadget_Type|String Gadget Type]] |
::[[String_Gadget_Type|String Gadget Type]] |
||
:[[Intuition Menus|Menus]] |
:[[Intuition Menus|Menus]] |
||
− | :[[Intuition |
+ | ::[[Intuition Classic Menus|Classic Menus]] |
+ | ::[[Intuition Menu Class|Menu Class]] |
||
+ | ::[[Intuition Context Menus|Context Menus]] |
||
+ | :[[Intuition Requesters|Requesters]] |
||
+ | :[[Intuition Alerts|Alerts]] |
||
:[[Intuition Images, Line Drawing and Text|Images, Line Drawing and Text]] |
:[[Intuition Images, Line Drawing and Text|Images, Line Drawing and Text]] |
||
+ | ::[[Intuition Images|Images]] |
||
+ | ::[[Intuition Borders|Borders]] |
||
+ | ::[[Intuition Text|Text]] |
||
:[[Intuition Input and Output Methods|Input and Output Methods]] |
:[[Intuition Input and Output Methods|Input and Output Methods]] |
||
− | :[[Intuition Mouse |
+ | :[[Intuition Mouse|Mouse]] |
+ | :[[Intuition Keyboard|Keyboard]] |
||
+ | :[[Intuition Pointer|Pointer]] |
||
:[[Intuition Special Functions|Special Functions]] |
:[[Intuition Special Functions|Special Functions]] |
||
:[[BOOPSI - Object Oriented Intuition]] |
:[[BOOPSI - Object Oriented Intuition]] |
||
Line 54: | Line 68: | ||
[[Icon Library]] |
[[Icon Library]] |
||
+ | |||
+ | [[Locale Library]] |
||
[[GadTools Library]] |
[[GadTools Library]] |
||
Line 60: | Line 76: | ||
[[ASL Library]] |
[[ASL Library]] |
||
+ | :[[ASL File Requester|File Requester]] |
||
+ | :[[ASL Font Requester|Font Requester]] |
||
+ | :[[ASL Screen Mode Requester|Screen Mode Requester]] |
||
[[Application Library]] |
[[Application Library]] |
||
+ | :[[PrefsObjects]] |
||
[[Preferences]] |
[[Preferences]] |
||
− | == Graphics Libraries == |
+ | === Graphics Libraries === |
[[Graphics Library]] |
[[Graphics Library]] |
||
Line 71: | Line 91: | ||
:[[Graphics Primitives|Primitives]] |
:[[Graphics Primitives|Primitives]] |
||
::[[Classic Graphics Primitives|Classic Primitives]] |
::[[Classic Graphics Primitives|Classic Primitives]] |
||
− | :[[Graphics Sprites, Bobs and Animation|Sprites, |
+ | :[[Graphics Sprites, Bobs and Animation|Sprites, Bobs and Animation]] |
::[[Hardware Sprites]] |
::[[Hardware Sprites]] |
||
::[[Virtual Sprites|Virtual Sprites (VSprites)]] |
::[[Virtual Sprites|Virtual Sprites (VSprites)]] |
||
Line 77: | Line 97: | ||
:[[Graphics Library and Text|Text]] |
:[[Graphics Library and Text|Text]] |
||
:[[Graphics Regions|Regions]] |
:[[Graphics Regions|Regions]] |
||
+ | :[[Graphics Composited Video|Composited Video]] |
||
+ | :[[Graphics Video Overlay|Video Overlay]] |
||
+ | :[[Graphics Minterms|Minterms]] |
||
[[Layers Library]] |
[[Layers Library]] |
||
− | == Additional Libraries == |
+ | === Additional Libraries === |
[[AmigaGuide Library]] |
[[AmigaGuide Library]] |
||
Line 89: | Line 112: | ||
[[Datatypes Library]] |
[[Datatypes Library]] |
||
+ | :[[Writing Datatype Classes]] |
||
[[IFFParse Library]] |
[[IFFParse Library]] |
||
Line 97: | Line 121: | ||
[[Newlib Library]] |
[[Newlib Library]] |
||
+ | |||
+ | [[PThreads Library]] |
||
[[RealTime Library]] |
[[RealTime Library]] |
||
Line 102: | Line 128: | ||
[[Translator Library]] |
[[Translator Library]] |
||
+ | [[DiskIO Library|Disk I/O Library]] |
||
− | == Third-Party Libraries == |
||
+ | |||
+ | === 68k Libraries === |
||
+ | |||
+ | [[Math Libraries]] |
||
+ | |||
+ | === Third-Party Libraries === |
||
[[Expat Library]] |
[[Expat Library]] |
||
Line 108: | Line 140: | ||
[[Filesysbox Library]] |
[[Filesysbox Library]] |
||
− | == |
+ | == Linked Libraries == |
− | + | === Audio Libraries === |
|
+ | libao |
||
+ | libogg |
||
− | == 68k Libraries == |
||
+ | libvorbis |
||
− | [[Math Libraries]] |
||
+ | |||
+ | libvorbisenc |
||
+ | |||
+ | libvorbisfile |
||
+ | |||
+ | === C/C++ Programming Language Libraries === |
||
+ | libc |
||
+ | |||
+ | libgcc |
||
+ | |||
+ | libgcov |
||
+ | |||
+ | libicudata |
||
+ | |||
+ | libicuuc |
||
+ | |||
+ | libstdc++ |
||
+ | |||
+ | === Compression Libraries === |
||
+ | libz |
||
+ | |||
+ | libbz2 |
||
+ | |||
+ | === Database Libraries === |
||
+ | libsqlite |
||
+ | |||
+ | === Dynamic Linking Libraries === |
||
+ | libdl |
||
+ | |||
+ | === File System Libraries === |
||
+ | libntfs |
||
+ | |||
+ | === File Transfer Libraries === |
||
+ | libcurl |
||
+ | |||
+ | libssl |
||
+ | |||
+ | === Graphics Libraries === |
||
+ | libcairo |
||
+ | |||
+ | libfontconfig |
||
+ | |||
+ | libfreetype |
||
+ | |||
+ | libjpeg |
||
+ | |||
+ | libpixman |
||
+ | |||
+ | libpng |
||
+ | |||
+ | libpng12 |
||
+ | |||
+ | libSDL |
||
+ | |||
+ | libSDL_gfx |
||
+ | |||
+ | === Parallel Execution Libraries === |
||
+ | libpthread |
||
+ | |||
+ | === Python Programming Language Libraries === |
||
+ | libpython |
||
+ | |||
+ | === XML Libraries === |
||
+ | libexpat |
||
+ | |||
+ | libxml |
||
+ | |||
+ | libxslt |
||
+ | |||
+ | == Static Libraries == |
||
+ | |||
+ | [[Linker Libraries]] |
Latest revision as of 14:24, 27 March 2019
Contents
- 1 Introduction
- 2 Shared Libraries
- 3 Linked Libraries
- 3.1 Audio Libraries
- 3.2 C/C++ Programming Language Libraries
- 3.3 Compression Libraries
- 3.4 Database Libraries
- 3.5 Dynamic Linking Libraries
- 3.6 File System Libraries
- 3.7 File Transfer Libraries
- 3.8 Graphics Libraries
- 3.9 Parallel Execution Libraries
- 3.10 Python Programming Language Libraries
- 3.11 XML Libraries
- 4 Static Libraries
Introduction
A library is a set of related functions and data. For example, the AmigaOS's DOS library contains functions for accessing 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 during the load time, just before the program is executed. Linked library functions can't be shared by 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 a linked library except it is attached permanently to a program when it is created. This makes it impossible for the user to update the library the program is using. Static libraries are supplied with programming languages.
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
Audio Libraries
libao
libogg
libvorbis
libvorbisenc
libvorbisfile
C/C++ Programming Language Libraries
libc
libgcc
libgcov
libicudata
libicuuc
libstdc++
Compression Libraries
libz
libbz2
Database Libraries
libsqlite
Dynamic Linking Libraries
libdl
File System Libraries
libntfs
File Transfer Libraries
libcurl
libssl
Graphics Libraries
libcairo
libfontconfig
libfreetype
libjpeg
libpixman
libpng
libpng12
libSDL
libSDL_gfx
Parallel Execution Libraries
libpthread
Python Programming Language Libraries
libpython
XML Libraries
libexpat
libxml
libxslt