/await
(Включение поддержки coroutine)
Используйте параметр компилятора /await
, чтобы включить поддержку компилятора для корутин.
Синтаксис
/await
/await:strict
Замечания
Параметр /await
компилятора включает поддержку компилятора для корутин C++ и ключевых слов co_await
, co_yield
а также co_return
. По умолчанию она отключена. Сведения о поддержке корутин в Visual Studio см. в блоге команды Visual Studio. Дополнительные сведения о стандартном предложении coroutines см. в разделе N4628 Рабочий проект, техническая спецификация расширений C++ для корутинов.
Этот /await
параметр доступен начиная с Visual Studio 2015.
Начиная с Visual Studio 2019 версии 16.10, вместо /await:strict
этого /await
можно использовать параметр. Этот параметр обеспечивает поддержку соподключаемой C++20 в проектах, которые создаются в режиме C++14 или C++17. В /await:strict
режиме поддержка библиотек предоставляется в <корутине> и в std
пространстве имен.
Параметр /await:strict
отключает расширения языка, присутствующих в том, что не были приняты в /await
стандарт C++20. Использование таких функций приводит к ошибке компилятора. Этот параметр также реализует поведение соутина, например предварительный просмотр параметров обещания. Это поведение недоступно /await
из-за проблем с совместимостью двоичных файлов в более ранних версиях Visual Studio.
Примечание.
Объекты состояния Coroutine, полученные из coroutine_handle<T>::address()
не совместимых между /await
и /await:strict
режимами. coroutine_handle<T>::from_address()
Использование адреса, полученного из дескриптора соутина, созданного кодом, скомпилированный в несовместимом режиме, приводит к неопределенному поведению.
Установка данного параметра компилятора в среде разработки Visual Studio
Откройте диалоговое окно страниц свойств проекта.
Перейдите на страницу свойств Свойства конфигурации>C/C++>Командная строка.
/await
Введите параметр или/await:strict
компилятор в поле "Дополнительные параметры". Нажмите кнопку "ОК" или "Применить", чтобы сохранить изменения.
Установка данного параметра компилятора программным способом
- См. раздел AdditionalOptions.
См. также
Параметры компилятора MSVC
Синтаксис командной строки компилятора MSVC