- 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.
注意:上面提到的是对应编译器支持全部或者大部分的标准的时间,事实上在此之前版本编译器就已经在逐步支持,只是支持程度有限。