Visual Studio 2017 does not supportC11 new feature _Generic

前端 未结 2 2032
南方客
南方客 2021-01-19 10:10

Can anybody advise why Visual Studio 2017 does not support the C11 new feature _Generic? I found it is a very useful feature but cannot used in Visual Studio 20

相关标签:
2条回答
  • 2021-01-19 10:36

    Visual Studio 2017 does not support any C11 features. You can plug Intel C compiler into Visual Studio (which supports C11) or use Clang or Gcc.

    Quora answer:

    • To your Visual Studio add the inbuilt CLANG support
    • Create new project
    • In project properties (General) for “Platform Toolset” select “Visual Studio 2017 - Clang with Microsoft CodeGen (v141_clang_c2)
    • In C/C++ “Language” section open the “C language” standard list , where you will find all the C standards relevant todayL C89, C99, C11 …select the one you wish

    After this (same as ever) VS2017 will compile files with “.c” extension as C, and “.cpp” extension as C++.

    Do not forget that one can change the properties on the per file basis too.

    0 讨论(0)
  • 2021-01-19 10:57

    This is because Microsoft has never prioritized conformance to the C language standard. Over the last 20 years or so, their main focus has been C++. So Visual Studio is to be regarded as a C++ compiler.

    In "C mode", it still has questionable compliance towards the first C standard C90. It took them forever to make an attempt to get C99 compliance, they made some effort towards that only in recent years. It is still not fully C99 compliant either. As far as I know, there are no plans for C11 or C17 compliance.

    So if standard conformance is important to you, you must look for another C compiler.

    0 讨论(0)
提交回复
热议问题