Collegamento a CRT nel progetto ATL
Le librerie di runtime C (CRT) offrono molte funzioni utili che consentono di semplificare la programmazione durante lo sviluppo ATL. Tutti i progetti ATL si collegano alla libreria CRT. È possibile visualizzare i vantaggi e gli svantaggi del metodo di collegamento in Vantaggi e compromessi del metodo usato per il collegamento a CRT.
Effetti del collegamento a CRT nell'immagine del programma
Se si esegue il collegamento statico a CRT, il codice da CRT viene inserito nell'immagine eseguibile e non è necessario che la DLL CRT sia presente in un sistema per eseguire l'immagine. Se si esegue il collegamento dinamico a CRT, i riferimenti al codice nella DLL CRT vengono inseriti nell'immagine, ma non il codice stesso. Affinché l'immagine venga eseguita in un determinato sistema, la DLL CRT deve essere presente nel sistema. Anche quando si esegue il collegamento dinamico a CRT, è possibile che alcuni codici possano essere collegati in modo statico (ad esempio, DllMainCRTStartup
).
Quando si collega l'immagine, è possibile specificare in modo esplicito o implicito un punto di ingresso in cui verrà chiamato il sistema operativo dopo il caricamento dell'immagine. Per una DLL, il punto di ingresso predefinito è DllMainCRTStartup
. Per un file EXE, è WinMainCRTStartup
. È possibile eseguire l'override dell'impostazione predefinita con l'opzione /ENTRY linker. CRT fornisce un'implementazione per DllMainCRTStartup
, WinMainCRTStartup
e wWinMainCRTStartup
(il punto di ingresso Unicode per un file EXE). Questi punti di ingresso forniti da CRT chiamano costruttori su oggetti globali e inizializzano altre strutture di dati usate da alcune funzioni CRT. Questo codice di avvio aggiunge circa 25.000 all'immagine se è collegato in modo statico. Se è collegato in modo dinamico, la maggior parte del codice si trova nella DLL, quindi le dimensioni dell'immagine rimangono ridotte.
Per altre informazioni, vedere l'argomento del linker /ENTRY (simbolo del punto di ingresso).For more information, see the linker topic /ENTRY (Entry-Point Symbol).
Opzioni di ottimizzazione
L'uso dell'opzione del linker /OPT:NOWIN98 può ridurre ulteriormente un controllo ATL predefinito di 10K, a scapito di un aumento del tempo di caricamento nei sistemi Windows 98. Per altre informazioni sulle opzioni di collegamento, vedere /OPT (Ottimizzazioni).
Vedi anche
Programmazione con il codice runtime C e ATL
DLL e comportamento delle librerie di runtime Visual C++