Resident libraries are a dynamic mechanism facilitated by the AMIGA-DOS Executive. These libraries are linked at runtime contrary to the normal compile, link cycle that links a runtime library object module into a binary executable at link time. This runtime linking is not truly a link but rather a jumptable that jumps to a relative offset from the libraries' base pointer. The base pointer is returned from the OpenLibrary() call.
Advantages
There are three big advantages to a resident library:1. Using resident libraries, you can reduce the size of executable files because the object code necessary for a particular function is contained in the resident library. Also, when more than one task is operating in memory there is not duplicated code taking up precious memory.
2. It takes less time to load an executable because part of the executable is already in RAM memory. When there are several tasks multitasking, the AMIGA-DOS Executive keeps a list of libraries. Subsequent tasks that try to access a particular library that is already on the list are speeded up by the executive looking at the list and seeing that it is already resident.
3. There is true runtime versioning control on the library themselves. The OpenLibrary(char *LibName, long Version) system call allows programs at runtime to specify a version number that the present library must be equal to or greater than to have a successful open. If versioning is not required, a version of 0 as an argument to the OpenLibrary call will allow whatever version is present.
Typical AMIGA DOS 1.3 LIBS
arp.library is obtainable through most BBS's such as BIX, COMPUSERVE and PEOPLES LINK. It falls into the "freeware" category since it is copyrighted by ARP Authors (represented by Microsmith's Inc. It contains a multitude of functions that allow a programmer and/or user more capability then the corresponding AMIGA DOS 1.3 library functions might.)