Partilhar via


/Zc:tlsGuards (Verifique a inicialização do TLS)

A /Zc:tlsGuards opção do compilador 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 /Zc:tlsGuards opção do compilador habilita verificações para inicialização de variáveis de thread-local em DLLs. Anteriormente, as variáveis thread-local em DLLs não eram inicializadas corretamente. Além do thread que carregava a DLL, elas não eram inicializadas antes do primeiro uso em threads que existiam antes da DLL ser carregada. A /Zc:tlsGuards opção habilita o código que corrige esse defeito. As variáveis thread-local em uma DLL são inicializadas imediatamente antes de seu primeiro uso nesses threads.

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

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

  1. Abra a caixa de diálogo Páginas de Propriedades do projeto. Para obter detalhes, confira Definir as propriedades de build e do compilador do C++ no Visual Studio.

  2. Selecione a página de propriedades Propriedades de Configuração>C/C++>Linha de Comando.

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

Confira também

/Zc (Conformidade)\