What is the effect of changing the Dynamic RTL setting for a static library?

In Embarcadero RAD Studio 2010 in the project settings there is a parameter for static libraries called "Dynamic RTL". (This is under the TLib section.)

I got the impression that the decision about whether to bind RTL dynamically or statically is made at the time of the connection, and not at compile time. But static libraries only compile; no link step. So, how does changing this option affect my static library?

I have some .exe and .dll projects that use these static libraries, and I set the "Dynamic RTL" option in these projects. This makes sense because they have something that can be linked, but I don’t understand what effect this option has for static libs.

Could it be causing any problems if the static libs have Dynamic RTL = true and the DLLs and EXEs that use these libraries have Dynamic RTL = false?

+6
source share
1 answer

I am not using Embarcadero, but the old version of C ++ Builder. I think they work the same way. When you use Dynamic RTL, your code will call the RTL functions from the DLL executables that must be sent along with your program. When you are not using dynamic RTL, functions are copied from libs to your exe or lib files. I use dynamic RTL, which reduces the size of EXE files. The logic is the same for exe or libs. This means that if you use dynamic RTL in any module, be it exe or lib, you will also have to send the corresponding runtime DLLs.

+6
source

Source: https://habr.com/ru/post/923972/


All Articles