Shared libraries are nice from a system implementation point of view, but straight shared libraries are a pretty inconvenient way to package and ship a complete product. When you are providing some kind of software library, like a database access API, you will want to provide not only the shared library that has the executable code, but also the header files that describe the API provided, the documentation, and any additional resources like images or sounds. With plain old shared libraries (on plain old Unix), you’ll need to cook up your own packaging format or use whatever platform-specific delivery mechanisms (like RPMs on Red Hat Linux or the Ubuntu packaging system). Even then, the pieces of your product will probably get split ...

Get Advanced Mac OS X Programming: The Big Nerd Ranch Guide now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.