不同平台因为偏好差异,编译环境的准备会有差异。对于MSVC,微软提供简单的VS安装界面,比较省心。在Ubuntu发行版,gcc/make等程序可能不自带,当需要安装这些软件时就需要不少命令。当然比较麻烦,提供了统一的build-essential方便程序员,在Fedora上用development-tools.
多种文件扩展名
- MSVC即可编译C语言,也可编译C++. 虽然默认可按照后缀名.c或.cpp区分,也可用/TC强制选择特定编译器。
不同标准或按特定版本编译
- GCC提供-std=选项选择不同C语言标准,MSVC使用/std:选项选择。
- GCC参考:GCC Releases
- MSVC参考: Microsoft C/C++ 语言标准
- C#
- /langversion:XXX 可按照C# XXX版本编译。
- 例如C# 2.0引入基本类型可空修饰符,用C# 1.0版本编译带可空修饰符代码,会提示错误:
功能“可以为 null 的类型”在 C# 1 中不可用。请使用 2 或更高的语言版本。
- 例如C# 2.0引入基本类型可空修饰符,用C# 1.0版本编译带可空修饰符代码,会提示错误:
- /langversion:XXX 可按照C# XXX版本编译。