编译器、IDE对C/C++新尺度的支持

[复制链接]
发表于 2025-12-26 23:40:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
Visual C++对C/C++新尺度的支持






















很遗憾的是,微软VC++对C99的支持直到VS2015才根本完全支持,在VS2012之前,仅仅支持C89. 也正是2015年之前,这么多人骂微软并纷纷转移到别的C语言编译器的缘故起因。VS2019开始才正式公布支持C11/C17.



对于C++尺度,VS2013开始支持C++11,VS2017支持C++17, VS2019支持C++20, 显然,微软更偏幸C++.



C/C++编译器初次支持尺度的时间 

早期MSVC对C99支持不好的缘故起因










差异编译器对C尺度支持程度


















  • MSVC C99/C11
    Microsoft C/C++ language conformance





  • GCC
    Status of C99 features in GCC





















C/C++编译器和支持尺度




























  • GCC
    - GCC没有任何版本默认编译器是C99 (可以用-std=c99开启),较早期版本就已经支持部门C99
    - GCC 5.1初次默认C编译器为C11
    - GCC 8.1初次默认C编译器为C17,GCC13.2 (2023/7/27 released)同样默以为C17.
  • GCC C++
    - GCC 6.1 版本之前默认是C++98.
    - GCC 6.1 初次默认C++编译器为C++14.
    - GCC 11.1 初次默认C++编译器为C++17,GCC13.2 (2023/7/27 released)保持默以为C++17.
  • MSVC C
    - VS2015 支持C99,编译器默认是旧MSVC,.
    - VS2019 编译器默认是旧MSVC, 可选支持C11/C17.
    - 旧MSVC:从VS2015到VS2022,默认的 C 编译器(即未指定 /std:c11 和 /std:c17 时的编译器)实现 ANSI C89,但包罗几个 Microsoft 扩展,此中一些是 ISO C99 的一部门。
    具体拜见:/std(指定语言尺度版本) | Microsoft Learn
  • MSVC C++
    - VS2015支持C++11, 编译器默以为C++14..
    - VS2017支持C++14和C++17, 编译器默以为C++14..
    - VS2019连续支持C++20, 编译器默以为C++14.
    - VS2022支持C++20,编译器默以为C++14.



留意:上面提到的是对应编译器支持全部大概大部门的尺度的时间,究竟上在此之前版本编译器就已经在渐渐支持,只是支持程度有限。





Visual C++对C/C++新尺度的支持 C/C++编译器和尺度的具体信息
怎样知道当前编译器默认C++尺度是多少?




















早期MSVC对C99支持不好的缘故起因




















  • 相比C语言,微软更推许C++(纵然Windows内核是C语言编写,但有多少外部开辟者会用C语言开辟呢?)






  • 按照微软C++团队的说法,利用C++编译器比C语言编译器的多很多

























































若文章对您有资助,欢迎关注。助您在编程路上越走越好!
微风不燥,阳光恰好,你就像风一样颠末这里,愿你停顿的半晌暖和舒心。
我是步伐员小迷(致力于C、C++、Java、Kotlin、Android、iOS、Shell、JavaScript、TypeScript、Python等编程技能的本领履历分享),若作品对您有资助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供资助的最大动力。


回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表