No, that's wrong! A library is a collection of related functions...
You open the library, this gives you address of the jump table. The jump table is a list of address pointing the library's functions.
When you want to use one the functions, you goto the jump table and the select the pointer you know points to the function you want (these are at documented offsets). You fill the CPU registers with data, jump to the function and wait for the CPU execution to return to your program, the CPU regs now contain the function result.
Simple really!