Plugin architecture Low-level Architecture
The three technical challenges for creating a plugin architecture are as follows:
Code loading
Dynamic loading of natively-compiled executable code can be accomplished with dlopen / dlsym in Linux and MacOSX and LoadLibrary on Win32.