/Zc:tlsGuards
(TLS-initialisatie controleren)
De /Zc:tlsGuards
compileroptie genereert runtimecontroles op TLS-initialisatie (Thread Local Storage) in DLL's.
Syntaxis
/Zc:tlsGuards
[-
]
Opmerkingen
Met de optie /Zc:tlsGuards
compiler worden controles ingeschakeld voor initialisatie van thread-lokale variabelen in DLL's. Voorheen werden thread-lokale variabelen in DLL's niet correct geïnitialiseerd. Behalve voor de thread die het DLL-bestand heeft geladen, werden ze niet geïnitialiseerd voordat ze voor het eerst werden gebruikt voor threads die bestonden voordat het DLL-bestand werd geladen. Met de optie /Zc:tlsGuards
schakelt u code in waarmee dit defect wordt gecorrigeerd. Thread-lokale variabelen in een dergelijke DLL worden direct geïnitialiseerd voordat ze voor het eerst op dergelijke threads worden gebruikt.
De optie /Zc:tlsGuards
is nieuw in Visual Studio 2019 versie 16.5. Deze optie is standaard ingeschakeld in alle compilermodi. Het nieuwe gedrag van testen voor initialisatie voor het gebruik van thread-lokale variabelen kan worden uitgeschakeld met behulp van de optie /Zc:tlsGuards-
compiler. Als u controles voor specifieke thread-lokale variabelen wilt uitschakelen, gebruikt u het kenmerk [[msvc::no_tls_guard]]
.
Deze compileroptie instellen in Visual Studio
Open het dialoogvenster eigenschappenpagina's van het project. Zie C++-compiler instellen en eigenschappen bouwen in Visual Studiovoor meer informatie.
Selecteer de eigenschappenpagina configuratie-eigenschappen>C/C++>opdrachtregel.
Voeg
/Zc:tlsGuards
toe in Extra opties. Kies OK- of Pas toe om uw wijzigingen op te slaan.