Chapter 27. Dynamic Loading at Run Time

Loading shared objects at run time can be a useful way to structure your applications. Done right, it can make your applications extensible, and it also forces you to partition your code into logically separate modules, which is a useful coding discipline.

Many Unix applications, particularly large ones, are mostly implemented by separate blocks of code, often called plugins or modules. In some cases, they are implemented as completely different programs, which communicate with the application’s core code via pipes or some other form of interprocess communication (IPC). In other cases, they are implemented as shared objects.

Shared objects are normally built like standard shared libraries (see Chapter 8), ...

Get Linux Application Development, Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.