Developing with libraries
Most applications make use of shared libraries, which saves system memory and disk space, as they are shared between different applications. Modularizing code into libraries also allows for easier versioning and code management.
This recipe will explain how to work with both static and shared libraries in Linux and Yocto.
Getting ready
By convention, library files start with the lib
prefix.
There are basically two library types:
Static libraries (
.a
): When the object code is linked and becomes part of the applicationDynamic libraries (
.so
): Linked at compile time but not included in the application, so they need to be available at runtime. Multiple applications can share a dynamic library so they need less disk space.
Libraries are placed in the following standard root filesystem locations:
/lib
: Libraries required for startup/usr/lib
: Most system libraries/usr/local/lib
: Non-system libraries
Dynamic libraries follow certain naming conventions on running systems so that...