Microsoft Visual Studio pojačava podršku za jezik C

Microsoftov Visual Studio IDE dodao je podršku za jezične standarde C11 i C17 C, čime je proširio ranije ograničenu podršku IDE-a za C. C11 i C17 postaju podržane jezične verzije počevši od Visual Studio 2019 16.8 Preview 3, koji je objavljen 14. rujna.

Visual Studio je godinama ograničavao C podršku na ono što je bilo potrebno za jezik C ++, koji je izgrađen kao proširenje C. Sada je kompajleru dodan sukladni pretprocesor zasnovan na žetonu. Dodana su dva prekidača kompajlera /std:c11 i /std:c17, kako bi se osigurala usklađenost s najnovijim ISO C standardima.

C11 i C17 funkcionalnosti su podržani, kao što su _Pragma, restricti Static_assert. IntelliSense može raditi s tim značajkama pomoću .cekstenzije datoteke za izvorne datoteke ili /TCprekidača kompajlera kako bi omogućio isticanje sintakse za C kôd. Međutim, IntelliSense isticanje trenutno je dostupno samo za ključne riječi, a ne makronaredbe koje uvode standardna zaglavlja. To će popraviti buduće izdanje.

Uključivanjem konformnog pretprocesora temeljenog na žetonu, dva nova prekidača C kompajlera impliciraju / Zc: pretprocesor. Programeri koji žele koristiti tradicionalni pretprocesor zasnovan na znakovima uz C11 ili C17 morat će proslijediti /Zc:preprocessor-prekidač kompajlera.

Microsoft je opisao C17 kao izdanje ISO C. s ispravkom programskih pogrešaka. Jedine razlike između verzija C11 i C17 su _ STDC_versionmakronaredba u C17. Iako Visual Studio ne nudi podršku za opcionalne značajke C11, Microsoft planira dodati najučinkovitije opcijske značajke u budućim izdanjima. Atomska podrška i potpora navojem na putu su prema planu proizvoda. 

Da bi koristili C11 i C17 u programima, programeri moraju imati najnovija ažuriranja Insider Preview Windows SDK za rad s odgovarajućim pretprocesorom i novim runtimeom Universal C. Programeri mogu stvoriti besplatan Microsoftov račun (//signup.live.com), a zatim se uključiti u program Insider. Microsoft je objavio set uputa za početak rada s C11 i C17.

Visual Studio 2019 16.8 Preview 3 također nudi poboljšanu podršku za C ++ 20 u kompajleru, standardnoj knjižnici i IDE-u. Moduli, koncepti, suprogrami i neki rasponi mogu se koristiti u istom projektu.