Compartir a través de


Vinculación a CRT en un proyecto ATL

Las bibliotecas de C RunTime (CRT) proporcionan muchas funciones útiles que pueden facilitar mucho la programación durante el desarrollo de ATL. Todos los proyectos ATL se vinculan a la biblioteca de CRT. Puede ver las ventajas y desventajas del método de vinculación en Ventajas e inconvenientes del método usado para establecer un vínculo con CRT.

Efectos de vincular a CRT en la imagen del programa

Si vincula de forma estática al CRT, el código de CRT se coloca en la imagen ejecutable y no es necesario que el archivo DLL de CRT esté presente en un sistema para ejecutar la imagen. Si vincula de forma dinámica a CRT, las referencias al código del archivo DLL de CRT se colocan en la imagen, pero no el propio código. Para que la imagen se ejecute en un sistema determinado, el archivo DLL de CRT debe estar presente en ese sistema. Incluso cuando se vincula de forma dinámica a CRT, es posible que algún código se pueda vincular de forma estática (por ejemplo, DllMainCRTStartup).

Al vincular la imagen, especifique explícita o implícitamente un punto de entrada al que llamará el sistema operativo después de cargar la imagen. Para un archivo DLL, el punto de entrada predeterminado es DllMainCRTStartup. Para un EXE, WinMainCRTStartup. Puede invalidar el valor predeterminado con la opción del enlazador /ENTRY. El CRT proporciona una implementación para DllMainCRTStartup, WinMainCRTStartup y wWinMainCRTStartup (el punto de entrada Unicode para un EXE). Estos puntos de entrada proporcionados por CRT llaman a constructores en objetos globales e inicializan otras estructuras de datos que usan algunas funciones de CRT. Este código de inicio agrega aproximadamente 25 000 a la imagen si está vinculado de forma estática. Si está vinculado de forma dinámica, la mayoría del código está en el archivo DLL, por lo que el tamaño de la imagen permanece pequeño.

Para obtener más información, vea el tema del hipervínculo /ENTRY (Símbolo de punto de entrada).

Opciones de optimización

El uso de la opción del enlazador /OPT:NOWIN98 puede reducir aún más un control ATL predeterminado en 10 000, a costa de aumentar el tiempo de carga en los sistemas Windows 98. Para obtener más información sobre las opciones de vinculación, vea /OPT (Optimizaciones).

Consulte también

Programar con ATL y código en tiempo de ejecución de C
Archivos DLL y comportamiento de la biblioteca en tiempo de ejecución de Visual C++