编译器随着编程语言新标准而不断更新,历史的长河可能会淹没很多故事,但必要的时候,回忆起编译器版本和编程语言标准,不失一件有趣的事情。
- GCC
- GCC5.1开始默认C11(GCC5.1 gnu11),之前默认采用GNU90 (C90 + some C99 features).
- GCC8.1开始默认C17.
- GCC6.1开始默认C++14, 之前默认C++98.
- GCC11.1开始默认C++17.
注意:GCC默认C/C++标准一般是gnu扩展标准,而非标准C/C++.
- .NET/C#
- .NET版本和C#编译器版本是独立的,例如C# 6.0对应.NET Framework 4.6和.NET Core 1.x.
- 早期的.NET Framework的csc.exe版本和Roslyn csc编译器版本是完全两套,不要混淆。
支持的 Roslyn 包版本映射 - Visual Studio (Windows)