2012-08-28 36 views
6

En Embarcadero RAD Studio 2010, hay una configuración en las Opciones de proyecto para bibliotecas estáticas llamada "Dynamic RTL". (Está en la sección TLib)¿Cuál es el efecto de cambiar la configuración "Dynamic RTL" para una biblioteca estática?

Tenía la impresión de que la decisión sobre si vincular el RTL de forma dinámica o estática se realiza en tiempo de enlace, no en tiempo de compilación. Pero las libs estáticas solo compilan; no hay paso de enlace Entonces, ¿cómo afecta el cambio de esta opción a mi lib estática?

Tengo algunos proyectos .exe y .dll que usan estas librerías estáticas y establezco la opción "Dynamic RTL" en esos proyectos. Esto tiene sentido porque realmente tienen algo que vincular, pero no entiendo qué efecto tiene esta configuración en las librerías estáticas.

¿Podría causar algún problema si las bibliotecas estáticas tienen Dynamic RTL = true mientras que las DLL y EXEs que usan esta libs tienen Dynamic RTL = false?

Respuesta

6

No uso Embarcadero, pero una versión anterior de C++ Builder. Creo que funcionan de la misma manera. Cuando utiliza Dynamic RTL, su código llamará a las funciones RTL desde las DLL de tiempo de ejecución que deberían enviarse con su programa. Cuando no utiliza RTL dinámico, las funciones se copian desde libs en sus archivos exe o lib. Uso el RTL dinámico para reducir el tamaño de los archivos EXE. La lógica es la misma para exe o libs. Eso significa que si usa RTL dinámico en cualquier módulo, sea un exe o una lib, tendrá que enviar también los archivos DLL de tiempo de ejecución apropiados.

Cuestiones relacionadas