Vinculando ao CRT em seu projeto ATL
As Bibliotecas de runtime C (CRT) fornecem muitas funções úteis que podem facilitar muito a programação durante o desenvolvimento da ATL. Todos os projetos de ATL vinculam à biblioteca CRT. Você pode ver as vantagens e desvantagens do método de vinculação em Vantagens e desvantagens do método usado para vincular ao CRT.
Efeitos da vinculação ao CRT na imagem do programa
Se vincular estaticamente ao CRT, o código do CRT será colocado na imagem executável e você não precisará ter a DLL do CRT em um sistema para executar a imagem. Se você vincular dinamicamente ao CRT, as referências ao código na DLL do CRT serão colocadas na imagem, mas não no código. Para que a imagem seja executada em um determinado sistema, a DLL do CRT deve estar presente nesse sistema. Mesmo que vincule dinamicamente ao CRT, você poderá constatar que algum código pode ser vinculado estaticamente (por exemplo, DllMainCRTStartup
).
Ao vincular sua imagem, você especifica, explicita ou implicitamente, um ponto de entrada que o sistema operacional chamará depois de carregá-la. Para uma DLL, o ponto de entrada padrão é DllMainCRTStartup
. Para um EXE, é WinMainCRTStartup
. Você pode substituir o padrão com a opção de vinculador /ENTRY. O CRT fornece uma implementação para DllMainCRTStartup
, WinMainCRTStartup
e wWinMainCRTStartup
(o ponto de entrada Unicode de um EXE). Esses pontos de entrada fornecidos pelo CRT cham construtores nos objetos globais e inicializam outras estruturas de dados que são usadas por algumas funções do CRT. Esse código de inicialização adicionará cerca de 25 K à sua imagem, se ela estiver vinculada estaticamente. Se estiver vinculada dinamicamente, a maior parte do código estará na DLL; portanto, o tamanho da imagem permanecerá pequeno.
Para obter mais informações, confira o tópico do vinculador /ENTRY (símbolo de ponto de entrada).
Opções de otimização
Usar a opção de vinculador /OPT:NOWIN98 pode reduzir ainda mais um controle padrão da ATL em 10 K, em detrimento do aumento do tempo de carregamento nos sistemas Windows 98. Para obter mais informações sobre opções de vinculação, confira /OPT (otimizações).
Confira também
Programando com código de tempo de execução C e da ATL
Comportamento de DLLs e da biblioteca em tempo de execução do Visual C++