Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Параметр /Zc:tlsGuards компилятора создает проверки среды выполнения для инициализации локального хранилища потоков (TLS) в библиотеках DLL.
Синтаксис
/Zc:tlsGuards[-]
Замечания
Параметр /Zc:tlsGuards компилятора позволяет проверять инициализацию локальных переменных потока в библиотеках DLL. Ранее локальные по отношению к потоку переменные в библиотеках DLL не инициализировались должным образом. За исключением потока, загрузившего библиотеку DLL, они не инициализировались до их первого использования в потоках, существовавших до загрузки библиотеки DLL. Параметр /Zc:tlsGuards включает код, исправляющий этот дефект. Локальные по отношению к потоку переменные в подобной библиотеке DLL инициализируются непосредственно перед их первым использованием в таких потоках.
Этот /Zc:tlsGuards параметр доступен в Visual Studio 2019 версии 16.5. Этот параметр включен по умолчанию во всех режимах компилятора. Новое поведение тестирования для инициализации при использовании локальных переменных потока может быть отключено с помощью параметра компилятора /Zc:tlsGuards- . Чтобы отключить проверки для определенных переменных потока, используйте [[msvc::no_tls_guard]] атрибут.
Установка параметра компилятора в Visual Studio
Откройте диалоговое окно Страницы свойств проекта. Подробнее см. в статье Настройка компилятора C++ и свойства сборки в Visual Studio.
Перейдите на страницу свойств Свойства конфигурации>C/C++>Командная строка.
В дополнительных параметрах добавьте
/Zc:tlsGuards. Нажмите кнопку "ОК" или "Применить", чтобы сохранить изменения.