带有2个编译器的C ++

时间:2016-04-05 12:28:55

标签: c++ gcc visual-c++

我有一个项目,我想在Ubuntu和Windows机器上编码。在Ubuntu我使用gcc,在Windows上我想使用MSVC。

用这样的2个不同的编译器编译相同的代码是一个好主意吗?或者我会遇到问题吗?

感谢。

3 个答案:

答案 0 :(得分:15)

这是个好主意。在过去,我在代码中发现了一堆我只能在切换编译器后看到的错误。

答案 1 :(得分:7)

如果你想为不同的平台编译,你用不同的编译器进行编译(即使它们是同一编译器的不同版本)。

如果使用GCC和MSVC进行编译,您会发现无法使用每个编译器提供的大量扩展。您还会发现像MSVC这样的烦恼会在_open等函数的前面加上下划线。基本上,这归结为"欢迎来到便携式编码的精彩世界"。

另一方面,一旦你开始为两个编译器编写代码,添加第三个编译器变得容易得多 - 我建议将Clang作为廉价而开朗的静态分析工具添加到混合中。

答案 2 :(得分:0)

Microsoft允许您直接从Linux机器上的Visual Studio编译代码,从而轻松实现。这很酷。

https://blogs.msdn.microsoft.com/vcblog/2016/03/30/visual-c-for-linux-development/