Microsoft Visual Studio rafforza il supporto per il linguaggio C.

L'IDE di Visual Studio di Microsoft ha aggiunto il supporto per gli standard del linguaggio C C11 e C17, espandendo così il supporto precedentemente limitato dell'IDE per C. C11 e C17 sono diventate versioni linguistiche supportate a partire da Visual Studio 2019 16.8 Preview 3, rilasciato il 14 settembre.

Per anni, Visual Studio ha limitato il supporto C a tutto ciò che era richiesto per il linguaggio C ++, che è stato creato come un'estensione di C. Ora, al compilatore è stato aggiunto un preprocessore conforme e basato su token. Sono state aggiunte due opzioni del compilatore /std:c11 e /std:c17, per garantire la conformità ai più recenti standard ISO C.

C11 e C17 funzionalità sono supportate come _Pragma, restricte Static_assert. IntelliSense può lavorare con queste funzionalità usando .cun'estensione di file per i file di origine o l' /TCopzione del compilatore per abilitare l'evidenziazione della sintassi per il codice C. Tuttavia, l'evidenziazione di IntelliSense è attualmente disponibile solo per le parole chiave, non per le macro introdotte dalle intestazioni standard. Una versione futura risolverà questo problema.

Con l'inclusione del preprocessore conforme basato su token, le due nuove opzioni del compilatore C implicano / Zc: preprocessore. Gli sviluppatori che desiderano utilizzare il tradizionale preprocessore basato sui caratteri insieme a C11 o C17 dovranno passare lo /Zc:preprocessor-switch del compilatore.

Microsoft ha descritto C17 come una versione di correzione di bug di ISO C. Le uniche differenze tra le versioni C11 e C17 sono la STDC_versionmacro _ in C17. Sebbene Visual Studio non offra supporto per le funzionalità opzionali C11, Microsoft prevede di aggiungere le funzionalità opzionali di maggior impatto nelle versioni future. Il supporto atomico e di threading sono sulla roadmap del prodotto. 

Per usare C11 e C17 nei programmi, gli sviluppatori devono disporre degli ultimi aggiornamenti di Insider Preview Windows SDK per funzionare con il preprocessore conforme e il nuovo runtime Universal C. Gli sviluppatori possono creare un account Microsoft gratuito (//signup.live.com) e quindi aderire al programma Insider. Microsoft ha pubblicato una serie di istruzioni per iniziare con C11 e C17.

Visual Studio 2019 16.8 Preview 3 offre anche un supporto migliorato per C ++ 20 nel compilatore, nella libreria standard e nell'IDE. Moduli, concetti, coroutine e alcuni intervalli possono essere utilizzati nello stesso progetto.