Microsoft Visual Studio IDE pridalo podporu pre jazykové štandardy C11 a C17 C, čím rozšírilo predtým obmedzenú podporu IDE pre C. C11 a C17 sa stali podporovanými jazykovými verziami počnúc Visual Studio 2019 16.8 Preview 3, ktorý bol vydaný 14. septembra.
Visual Studio už roky obmedzuje podporu C na to, čo bolo potrebné pre jazyk C ++, ktorý bol vytvorený ako rozšírenie C. Teraz bol do kompilátora pridaný konformný tokenový preprocesor. Dva prepínače kompilátora, / std: c11
a / std: c17
, boli pridané s cieľom zabezpečiť zhodu s najnovšími normami ISO C.
Podporované sú funkcie C11 a C17 ako napr _P
ragma
, obmedziť
a Static_assert
. IntelliSense môže pracovať s týmito funkciami pomocou a .c
prípona súboru pre zdrojové súbory alebo / TC
prepínač prekladača na povolenie zvýraznenia syntaxe pre kód C. Zvýraznenie IntelliSense je však v súčasnosti k dispozícii iba pre kľúčové slová, nie pre makrá zavedené štandardnými hlavičkami. Budúce vydanie to napraví.
Po zahrnutí vyhovujúceho preprocesora založeného na tokenoch dva nové prepínače kompilátora C znamenajú / Zc: preprocesor. Vývojári, ktorí chcú popri C11 alebo C17 použiť tradičný preprocesor založený na znakoch, budú musieť prejsť v jazyku / Zc: preprocesor-
prepínač kompilátora.
Microsoft popísal C17 ako vydanie opravy chyby ISO C. Jediné rozdiely medzi verziami C11 a C17 sú _STDC_verzia
makro v C17. Aj keď Visual Studio neponúka žiadnu podporu pre voliteľné funkcie C11, Microsoft plánuje v budúcich vydaniach pridať tie najpôsobivejšie voliteľné funkcie. Atómová podpora a podpora vlákien sú v pláne produktu.
Aby vývojári mohli používať programy C11 a C17 v programoch, musia mať najnovšie aktualizácie Insider Preview pre Windows SDK, aby mohli pracovať s vyhovujúcim preprocesorom a novým runtime Universal C. Vývojári si môžu vytvoriť bezplatný účet Microsoft (//signup.live.com) a potom sa prihlásiť do programu Insider. Spoločnosť Microsoft zverejnila súbor pokynov na začatie používania modelov C11 a C17.
Visual Studio 2019 16.8 Preview 3 tiež ponúka vylepšenú podporu pre C ++ 20 v kompilátore, štandardnej knižnici a IDE. V rovnakom projekte je možné použiť moduly, koncepty, korutíny a niektoré rozsahy.