Share via


/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

  1. Open het dialoogvenster eigenschappenpagina's van het project. Zie C++-compiler instellen en eigenschappen bouwen in Visual Studiovoor meer informatie.

  2. Selecteer de eigenschappenpagina configuratie-eigenschappen>C/C++>opdrachtregel.

  3. Voeg /Zc:tlsGuardstoe in Extra opties. Kies OK- of Pas toe om uw wijzigingen op te slaan.

Zie ook

/Zc (conformance)