Microsoft Visual Studio renforce la prise en charge du langage C

L'EDI Visual Studio de Microsoft a ajouté la prise en charge des normes de langage C11 et C17 C, étendant ainsi la prise en charge précédemment limitée de l'EDI pour C.C11 et C17 deviennent des versions linguistiques prises en charge à partir de Visual Studio 2019 16.8 Preview 3, qui a été publié le 14 septembre.

Pendant des années, Visual Studio a limité la prise en charge de C à tout ce qui était requis pour le langage C ++, qui a été construit en tant qu'extension de C. Désormais, un préprocesseur conforme basé sur des jetons a été ajouté au compilateur. Deux commutateurs de compilation, /std:c11 et /std:c17, ont été ajoutés pour assurer la conformité aux dernières normes ISO C.

Fonctionnalités C11 et C17 sont pris en charge tels que _Pragma, restrictet Static_assert. IntelliSense peut fonctionner avec ces fonctionnalités en utilisant une .cextension de fichier pour les fichiers source ou le /TCcommutateur du compilateur pour activer la coloration syntaxique du code C. Cependant, la mise en évidence IntelliSense n'est actuellement disponible que pour les mots-clés, et non pour les macros introduites par les en-têtes standard. Une version future résoudra ce problème.

Avec l'inclusion du préprocesseur conforme basé sur les jetons, les deux nouveaux commutateurs du compilateur C impliquent / Zc: preprocessor. Les développeurs qui souhaitent utiliser le préprocesseur traditionnel basé sur les caractères aux côtés de C11 ou C17 devront passer le /Zc:preprocessor-commutateur du compilateur.

Microsoft a décrit C17 comme une version de correction de bogue d'ISO C. Les seules différences entre les versions C11 et C17 sont la STDC_versionmacro _ dans C17. Bien que Visual Studio n'offre aucune prise en charge des fonctionnalités facultatives C11, Microsoft prévoit d'ajouter les fonctionnalités facultatives les plus importantes dans les versions futures. Le support atomique et threading sont sur la feuille de route du produit. 

Pour utiliser C11 et C17 dans des programmes, les développeurs doivent disposer des dernières mises à jour du SDK Windows Insider Preview pour fonctionner avec le préprocesseur conforme et le nouveau runtime Universal C. Les développeurs peuvent créer un compte Microsoft gratuit (//signup.live.com), puis s'inscrire au programme Insider. Microsoft a publié un ensemble d'instructions pour démarrer avec C11 et C17.

Visual Studio 2019 16.8 Preview 3 offre également une prise en charge améliorée de C ++ 20 dans le compilateur, la bibliothèque standard et l'EDI. Les modules, concepts, coroutines et certaines plages peuvent être utilisés dans le même projet.