Microsoft Visual Studio, C 언어 지원 강화

Microsoft의 Visual Studio IDE는 C11 및 C17 C 언어 표준에 대한 지원을 추가하여 이전에 C11 및 C17에 대한 IDE의 제한적 지원을 확장했습니다.

수년 동안 Visual Studio는 C의 확장으로 빌드 된 C ++ 언어에 필요한 모든 것으로 C 지원을 제한했습니다. 이제 준수하는 토큰 기반 전처리 기가 컴파일러에 추가되었습니다. 두 컴파일러 스위치 /std:c11  /std:c17최신 ISO C 표준에 대한 적합성을 제공하기 위해 추가되었다.

C11 및 C17 기능과 같은 지원 _Pragma, restrictStatic_assert. IntelliSense는 .c소스 파일에 대한 파일 확장명을 사용 하거나 /TCC 코드에 대한 구문 강조 표시를 활성화 하는 컴파일러 스위치를 사용 하여 이러한 기능을 사용할 수 있습니다. 그러나 IntelliSense 강조 표시는 현재 표준 헤더에 의해 도입 된 매크로가 아닌 키워드에만 사용할 수 있습니다. 향후 릴리스에서이 문제를 해결할 것입니다.

토큰 기반 준수 전처리 기가 포함 된 두 개의 새로운 C 컴파일러 스위치는 / Zc : 전처리기를 의미합니다. C11 또는 C17과 함께 기존의 문자 기반 전처리기를 사용하려는 개발자는 /Zc:preprocessor-컴파일러 스위치 를 전달해야합니다 .

Microsoft는 C17을 ISO C의 버그 수정 릴리스로 설명했습니다. C11과 C17 버전의 유일한 차이점은 C17의 _ STDC_version매크로입니다. Visual Studio는 C11 선택적 기능에 대한 지원을 제공하지 않지만 Microsoft는 향후 릴리스에서 가장 영향력있는 선택적 기능을 추가 할 계획입니다. 원자 및 스레딩 지원은 제품 로드맵에 있습니다. 

프로그램에서 C11 및 C17을 사용하려면 개발자는 최신 Insider Preview Windows SDK 업데이트가 있어야 호환 전 처리기 및 새로운 Universal C 런타임을 사용할 수 있습니다. 개발자는 무료 Microsoft 계정 (//signup.live.com)을 만든 다음 참가자 프로그램에 옵트 인 할 수 있습니다. Microsoft는 C11 및 C17을 시작하기위한 일련의 지침을 게시했습니다.

Visual Studio 2019 16.8 Preview 3는 또한 컴파일러, 표준 라이브러리 및 IDE에서 C ++ 20에 대한 향상된 지원을 제공합니다. 모듈, 개념, 코 루틴 및 일부 범위를 동일한 프로젝트에서 사용할 수 있습니다.