RTDLLs
RTDLLs are Process objects that can be explicitly loaded or dynamically loaded and unloaded using the LoadLibrary and FreeLibrary calls. An RTDLL is automatically unloaded from memory when the last process referencing it terminates.
Because RTDLLs do not require linking to an explicit export library, they provide a convenient, flexible runtime method of changing RTDLLs or applications. Additionally, because RTDLLs are not eRTOS processes, it is not reliable to use C Runtime functions within an RTDLL loaded by more than one eRTOS process simultaneously.
C Runtime Libraries: Programming Considerations for DLLs
This section discusses considerations that you should keep in mind when designing an RTDLL that will be linked with the Microsoft Visual Studio C Runtime libraries (see C Runtime Library-Support API).
The Microsoft C Runtime initialization code assumes that global variables have process scope, i.e., a separate copy of all C Runtime global variables and structures exist for each process using the libraries. This is not true for RTDLLs.