Udostępnij za pośrednictwem


/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

  1. 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).

  2. Wybierz stronę Właściwości>konfiguracji C/C++>Wiersza polecenia.

  3. W obszarze Dodatkowe opcje dodaj ./Zc:tlsGuards Wybierz przycisk OK lub Zastosuj , aby zapisać zmiany.

Zobacz też

/Zc (Zgodność)\