/Zc:tlsGuards
(Sprawdź inicjowanie protokołu TLS)
Opcja /Zc:tlsGuards
kompilatora generuje testy środowiska uruchomieniowego pod kątem inicjowania magazynu lokalnego wątku (TLS) w bibliotekach DLL.
Składnia
/Zc:tlsGuards
[-
]
Uwagi
Opcja /Zc:tlsGuards
kompilatora umożliwia sprawdzanie inicjowania zmiennych lokalnych wątku w bibliotekach DLL. Wcześniej zmienne lokalne wątku w bibliotekach DLL nie zostały poprawnie zainicjowane. Poza wątkiem, który załadował bibliotekę DLL, nie zostały zainicjowane przed pierwszym użyciem w wątkach, które istniały przed załadowaniem biblioteki DLL. Opcja /Zc:tlsGuards
umożliwia kod, który naprawia tę wadę. Zmienne lokalne wątku w takiej biblioteki DLL są inicjowane bezpośrednio przed ich pierwszym użyciem w takich wątkach.
Opcja /Zc:tlsGuards
jest nowa w programie Visual Studio 2019 w wersji 16.5. Ta opcja jest domyślnie włączona we wszystkich trybach kompilatora. Nowe zachowanie testowania na potrzeby inicjowania w przypadku używania zmiennych lokalnych wątku może zostać wyłączone przy użyciu opcji kompilatora /Zc:tlsGuards-
. Aby wyłączyć sprawdzanie określonych zmiennych lokalnych wątków, użyj atrybutu [[msvc::no_tls_guard]]
.
Aby ustawić tę opcję kompilatora w programie Visual Studio
Otwórz okno dialogowe Strony właściwości projektu. Aby uzyskać szczegółowe informacje, zobacz Set C++ compiler and build properties in Visual Studio (Ustawianie właściwości kompilatora języka C++ i kompilowania w programie Visual Studio).
Wybierz stronę Właściwości>konfiguracji C/C++>Wiersza polecenia.
W obszarze Dodatkowe opcje dodaj .
/Zc:tlsGuards
Wybierz przycisk OK lub Zastosuj , aby zapisać zmiany.