CopperSpice Overview  1.5.1
Static vs Shared

There are two ways of deploying an application, Static Linking and Shared Libraries.

Static Linking

Static linking results in a stand alone executable with the executable and all libraries linked into one file. One advantage to this approach is having few files to deploy. The disadvantages are executables are large and with no flexibility. Also, a new version of the application or the libraries will require the entire deployment process is repeated.

With static linking you can not deploy plugins.

Shared Libraries

To deploy plugin based applications, use the shared library approach.

Shared libraries provide smaller, more flexible executables. For example, using the shared library approach, the user is able to independently upgrade the libraries used by the application. This will only work if the libraries are binary compatible.

Another reason to use the shared library approach, is if you want to use the same libraries for several applications. The disadvantage with the shared library approach is you have more files to deploy.

For more information, refer to Shared Libraries.