Should I use static or dynamic libraries?

RTI Connext's static and dynamic libraries have the same tradeoffs as any other static and dynamic libraries. 

The main advantage of using dynamic libraries is less system-wide memory usage when there is more than one application using the same libraries on the machine. Starting a dynamically linked application might be marginally slower in some conditions (e.g., from a slow NFS server). 

With static libraries, you will use more memory overall, but it makes the application more standalone; i.e., you can ship the application without including extra libraries or worrying about incompatible versions on the target machines. This also means that if there is a bug in the static library, you'll need to re-link the application. With dynamic libraries, you would be able to just ship a new library without changing the application.

Keywords: