/Zc:tlsGuards
(Controllare l'inizializzazione TLS)
L'opzione /Zc:tlsGuards
del compilatore genera controlli di runtime per l'inizializzazione tls (Thread Local Storage) nelle DLL.
Sintassi
/Zc:tlsGuards
[-
]
Osservazioni:
L'opzione /Zc:tlsGuards
del compilatore abilita i controlli per l'inizializzazione delle variabili locali del thread nelle DLL. In precedenza, le variabili thread-local nelle DLL non venivano inizializzate correttamente. Oltre al thread che ha caricato la DLL, non sono stati inizializzati prima dell'uso nei thread esistenti prima del caricamento della DLL. L'opzione /Zc:tlsGuards
abilita il codice che corregge questo difetto. Le variabili locali del thread in una DLL di questo tipo vengono inizializzate immediatamente prima del loro primo uso su tali thread.
L'opzione /Zc:tlsGuards
è una novità di Visual Studio 2019 versione 16.5. Questa opzione è attivata per impostazione predefinita in tutte le modalità del compilatore. Il nuovo comportamento di test per l'inizializzazione in caso di uso di variabili locali del thread può essere disabilitato usando l'opzione del /Zc:tlsGuards-
compilatore. Per disabilitare i controlli per variabili specifiche locali del thread, usare l'attributo [[msvc::no_tls_guard]]
.
Per impostare questa opzione del compilatore in Visual Studio
Aprire la finestra di dialogo Pagine delle proprietà del progetto. Per informazioni dettagliate, vedere Impostare il compilatore e le proprietà di compilazione.
Selezionare la pagina delle proprietà Proprietà di configurazione>C/C++>Riga di comando.
In Opzioni aggiuntive aggiungere
/Zc:tlsGuards
. Scegliere OK o Applica per salvare le modifiche.