Partilhar via


/Zc:tlsGuards (Verificar inicialização TLS)

A opção de compilador /Zc:tlsGuards gera verificações de tempo de execução para inicialização de armazenamento local de thread (TLS) em DLLs.

Sintaxe

/Zc:tlsGuards[-]

Comentários

A opção de compilador /Zc:tlsGuards permite verificações para inicialização de variáveis thread-local em DLLs. Anteriormente, as variáveis de thread-local em DLLs não eram inicializadas corretamente. Além do thread que carregou a DLL, eles não foram inicializados antes do primeiro uso em threads que existiam antes da DLL ser carregada. A opção /Zc:tlsGuards ativa o código que corrige esse defeito. As variáveis de thread-local em tal DLL são inicializadas imediatamente antes de seu primeiro uso em tais threads.

A opção /Zc:tlsGuards é nova no Visual Studio 2019 versão 16.5. Esta opção está ativada por padrão em todos os modos de compilador. O novo comportamento de teste para inicialização em usos de variáveis thread-local pode ser desabilitado usando a opção de compilador /Zc:tlsGuards-. Para desativar as verificações de variáveis thread-local específicas, use o atributo [[msvc::no_tls_guard]].

Para definir essa opção de compilador no Visual Studio

  1. Abra a caixa de diálogo Property Pages do projeto. Para obter detalhes, consulte Definir compilador C++ e criar propriedades no Visual Studio.

  2. Selecione a Configuration Properties>C/C++>Command Line página de propriedades.

  3. Em Opções adicionais, adicione /Zc:tlsGuards. Escolha OK ou Aplicar para salvar as alterações.

Ver também

/Zc (Conformidade)