Copyright (c) Hyperion Entertainment and contributors.

Difference between revisions of "Libraries"

From AmigaOS Documentation Wiki
Jump to navigation Jump to search
(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:
== AmigaDOS ==
+
== 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]]
   
== Third-Party Libraries ==
+
=== 68k Libraries ===
  +
  +
[[Math Libraries]]
  +
  +
=== Third-Party Libraries ===
   
 
[[Expat Library]]
 
[[Expat Library]]
Line 125: Line 140:
 
[[Filesysbox Library]]
 
[[Filesysbox Library]]
   
== Appendices ==
+
== 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 19:19, 20 September 2018

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

DOS Library

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

Intuition Library

Screens
Custom Screen Type
Public Screen Type
Windows
Types
Structures and Functions
Communicating with Intuition
Display Preservation
Gadgets
Boolean Gadget Type
Proportional Gadget Type
String Gadget Type
Menus
Classic Menus
Menu Class
Context Menus
Requesters
Alerts
Images, Line Drawing and Text
Images
Borders
Text
Input and Output Methods
Mouse
Keyboard
Pointer
Special Functions
BOOPSI - Object Oriented Intuition
BOOPSI Gadgets
BOOPSI Images
BOOPSI Class Reference

Workbench Library

Icon Library

Locale Library

GadTools Library

GadTools Menus
GadTools Gadgets

ASL Library

File Requester
Font Requester
Screen Mode Requester

Application Library

PrefsObjects

Preferences

Graphics Libraries

Graphics Library

Display Database
Primitives
Classic Primitives
Sprites, Bobs and Animation
Hardware Sprites
Virtual Sprites (VSprites)
Blitter Objects (Bobs)
Text
Regions
Composited Video
Video Overlay
Minterms

Layers Library

Additional Libraries

AmigaGuide Library

Camd Library

Commodities Exchange Library

Datatypes Library

Writing Datatype Classes

IFFParse Library

Parsing IFF
Writing IFF

Keymap Library

Newlib Library

PThreads Library

RealTime Library

Translator Library

Disk I/O Library

68k Libraries

Math Libraries

Third-Party Libraries

Expat Library

Filesysbox Library

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

Static Libraries

Linker Libraries