Microsoft Visual Studio refuerza la compatibilidad con el lenguaje C

Visual Studio IDE de Microsoft ha agregado soporte para los estándares de lenguaje C C11 y C17, expandiendo así el soporte previamente limitado del IDE para C. C11 y C17 se convierten en versiones de idiomas compatibles a partir de Visual Studio 2019 16.8 Preview 3, que se lanzó el 14 de septiembre.

Durante años, Visual Studio ha limitado el soporte de C a todo lo que se requería para el lenguaje C ++, que se creó como una extensión de C. Ahora, se ha agregado al compilador un preprocesador compatible basado en tokens. Se agregaron dos conmutadores de compilador, /std:c11 y /std:c17, para brindar conformidad con los últimos estándares ISO C.

C11 y C17 funcionalidades son compatibles tales como _Pragma, restrict, y Static_assert. IntelliSense puede trabajar con estas características mediante el uso de una .cextensión de archivo para los archivos de origen o el /TCconmutador del compilador para habilitar el resaltado de sintaxis para el código C. Sin embargo, el resaltado de IntelliSense está disponible actualmente solo para palabras clave, no para macros introducidas por encabezados estándar. Una versión futura solucionará este problema.

Con la inclusión del preprocesador conforme basado en tokens, los dos nuevos modificadores del compilador C implican / Zc: preprocessor. Los desarrolladores que quieran utilizar el preprocesador tradicional basado en caracteres junto con C11 o C17 deberán pasar el /Zc:preprocessor-modificador del compilador.

Microsoft describió C17 como una versión de corrección de errores de ISO C. Las únicas diferencias entre las versiones C11 y C17 son la STDC_versionmacro _ en C17. Si bien Visual Studio no ofrece soporte para las características opcionales de C11, Microsoft planea agregar las características opcionales más impactantes en versiones futuras. El soporte atómico y de subprocesos está en la hoja de ruta del producto. 

Para usar C11 y C17 en programas, los desarrolladores deben tener las últimas actualizaciones del SDK de Windows de Insider Preview para trabajar con el preprocesador conforme y el nuevo tiempo de ejecución Universal C. Los desarrolladores pueden crear una cuenta gratuita de Microsoft (//signup.live.com) y luego optar por el programa Insider. Microsoft ha publicado un conjunto de instrucciones para comenzar con C11 y C17.

Visual Studio 2019 16.8 Preview 3 también ofrece compatibilidad mejorada para C ++ 20 en el compilador, la biblioteca estándar y el IDE. En el mismo proyecto se pueden utilizar módulos, conceptos, corrutinas y algunos rangos.