Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Använd kompilatoralternativet /await för att aktivera kompilatorstöd för coroutines.
Anmärkning
Alternativet /await är inaktuellt från och med Visual Studio 2026 och tas bort i en framtida version. Standard-C++-coroutines är tillgängliga som standard i C++20 eller senare. Eller använd /await:strict alternativet när du använder tidigare versioner av C++-språket.
Syntax
/await
/await:strict
Anmärkningar
Kompilatoralternativet /await möjliggör kompilatorstöd för C++-coroutines och nyckelorden co_await, co_yieldoch co_return. Det här alternativet är inaktiverat som standard. Information om stöd för coroutines i Visual Studio finns i Visual Studio Team Blog. Mer information om standardförslaget för coroutines finns i N4628 Working Draft, Technical Specification for C++ Extensions for Coroutines (Arbetsutkast för N4628, teknisk specifikation för C++-tillägg för Coroutines).
Alternativet /await är tillgängligt från och med Visual Studio 2015 och är inaktuellt från och med Visual Studio 2026.
Från och med Visual Studio 2019 version 16.10 /await:strict kan alternativet användas i stället för /await. Alternativet ger stöd för C++20-kompatibel coroutine i projekt som bygger i C++14- eller C++17-läge. I /await:strict läget tillhandahålls biblioteksstöd i <coroutine> och i std namnområdet.
Alternativet /await:strict inaktiverar språktillägg som finns i /await som inte har antagits till C++20-standarden. Användning av sådana funktioner resulterar i ett kompilatorfel. Alternativet implementerar även koroutinbeteenden, till exempel förhandsversionen av promise-parametern. Dessa beteenden är inte tillgängliga under /await på grund av problem med binär kompatibilitet i äldre versioner av Visual Studio.
Anmärkning
Coroutine-tillståndsobjekt som hämtas från coroutine_handle<T>::address() är inte kompatibla mellan /await och /await:strict lägen. Användning av coroutine_handle<T>::from_address() på en adress som hämtats från ett coroutine-handtag som skapats av kod som kompilerats i ett inkompatibelt läge resulterar i odefinierat beteende.
Ange det här kompilatoralternativet i Visual Studio-utvecklingsmiljön
Öppna dialogrutan Egenskapssidor för projektet.
Välj egenskapssidan Konfigurationsegenskaper>C/C++>Kommandorad .
/awaitAnge alternativet eller/await:strictkompilatorn i rutan Ytterligare alternativ. Välj OK eller Använd för att spara ändringarna.
Så här ställer du in det här kompilatoralternativet programmatiskt
- Se även AdditionalOptions.
Se även
Alternativ för MSVC-kompilator
MSVC-kompilator Command-Line syntax