SMA and LLA Guide : Overview of shared memory access and linked library access : Linked library access (LLA) : Static and dynamic link libraries for LLA
  
Static and dynamic link libraries for LLA
solidDB® provides both a static and a dynamic version of the linked library access library.
Both the static and dynamic library files contain a complete copy of the solidDB® server in library format. When you use a static library file (for example, lib/solidac.a), you link your program directly to it. Both your code and the library code are written to the resulting executable file. If you link to a dynamic library file, the code from the library is not included in the output file that contains your executable program. Instead, the code is loaded from the dynamic link library separately when your program runs.
Other than changing the size of your executable, there is no difference between linking to the static library file or the dynamic library file. For example, the total amount of code in memory at any one time is similar. Performance is also similar, although there is a slight amount of extra overhead if you use the dynamic library.
The main advantage of using the dynamic link library file is that if you execute more than one copy of the server in the same computer, you can save memory. For example, if you are doing development work on a single computer and you want to have both a advanced replication master and replica on the computer at the same time, or you would like to have a HotStandby Primary and a HotStandby Secondary at the same time, then you might prefer to use the dynamic library so that you do not have multiple copies of LLA in memory at the same time.
On Windows environments, the solidDB® linked library access includes the additional file lib/solidimpac.lib. If you want to use a dynamic link library, you do not link directly to the ssolidacxx.dll dynamic link library itself. Instead, you link to solidimpac.lib, which is an import library. This type of linking links only a small amount of code to your client executable program. When your client program executes, the Windows operating system loads the ssolidacxx.dll file will automatically. Your client can then call the usual linked library access functions in the .dll file. The .dll file must be in your load path when you run the program that references it.
Note Using the dynamic link library file does not mean that you can have multiple LLA applications clients linked to a single solidDB® server. Even with the dynamic library approach, you are still limited to a single local client; all other clients must be remote clients. The remote clients communicate with the solidDB® server by using TCP or some other network protocol, rather than the direct function calls available to the local client. To enable multiple local applications to access solidDB®, design your environment using shared memory access (SMA).
See also
Linked library access (LLA)