/GT (поддержка локальной памяти потока, безопасной относительно волокон)
Обновлен: Ноябрь 2007
Поддерживает безопасность волокон для данных, размещенных при помощи локальной памяти потока (данных, размещенных при помощи модификатора __declspec(thread)).
/GT
Заметки
К данным, объявленным с помощью модификатора __declspec(thread), необходимо обращаться через массив локальной памяти потока (TLS). Массив TLS — это массив адресов, поддерживаемый системой для каждого потока. Каждый адрес в этом массиве задает расположение данных локальной памяти потока.
Волокно — это легкий объект, состоящий из стека и регистрового контекста, выполнение которого может планироваться в различных потоках. Волокно может выполняться в любом потоке. Так как волокно может быть выведено из потока и перезапущено в другом потоке, адрес массива TLS не должен кэшироваться или оптимизироваться как общее подвыражение в рамках вызова функции (дополнительные сведения см. в описании параметра /Og (Виды глобальной оптимизации)). Параметр /GT предотвращает подобные оптимизации.
Установка параметра компилятора в среде разработки Visual Studio
Откройте диалоговое окно Страницы свойств проекта. Дополнительные сведения см. в разделе Открытие свойств страниц проекта.
Выберите папку C/C++.
Выберите страницу свойств Оптимизация.
Измените свойство Включить безопасную относительно волокон оптимизацию.
Установка параметра компилятора программным способом
- См. раздел EnableFiberSafeOptimizations.