Sdílet prostřednictvím


/Zc:tlsGuards (Kontrola inicializace protokolu TLS)

Možnost /Zc:tlsGuards kompilátoru generuje kontroly runtime inicializace místního úložiště vlákna (TLS) v knihovnách DLL.

Syntaxe

/Zc:tlsGuards[-]

Poznámky

Možnost /Zc:tlsGuards kompilátoru umožňuje kontrolovat inicializaci místních proměnných vlákna v knihovnách DLL. Dříve nebyly správně inicializovány místní proměnné vláken v knihovnách DLL. Jiné než ve vlákně, které načetlo knihovnu DLL, nebyly inicializovány před prvním použitím ve vláknech, které existovaly před načtením knihovny DLL. Tato /Zc:tlsGuards možnost povolí kód, který opraví tuto chybu. Proměnné lokálních vláken v takové knihovně DLL se inicializují bezprostředně před jejich prvním použitím na těchto vláknech.

Tato /Zc:tlsGuards možnost je nová v sadě Visual Studio 2019 verze 16.5. Tato možnost je ve výchozím nastavení zapnutá ve všech režimech kompilátoru. Nové chování testování inicializace při použití místních proměnných vlákna může být zakázáno pomocí možnosti kompilátoru /Zc:tlsGuards- . Chcete-li zakázat kontroly konkrétních proměnných vlákna-místní, použijte [[msvc::no_tls_guard]] atribut.

Nastavení této možnosti kompilátoru v sadě Visual Studio

  1. Otevřete dialogové okno Stránky vlastností projektu. Podrobnosti najdete v tématu Nastavení kompilátoru C++ a vlastností sestavení v sadě Visual Studio.

  2. Vyberte stránku vlastností příkazového řádku C/C++>Vlastnosti>konfigurace.

  3. V dalších možnostech přidejte /Zc:tlsGuards. Změny uložíte kliknutím na OK nebo Použít .

Viz také

/Zc (Shoda)\