我不太了解以下C / C ++编译器之间的区别:GCC,MinGW,Cygwin和MSVC。 GCC的MinGW和Cygwin实现是完全不同的吗?如果我打算为Windows编译,我是否需要除MSVC(Visual Studio)编译器以外的任何东西?
答案 0 :(得分:1)
GCC for Windows主要用于makefile和使用gcc特定的非可移植语法编写的代码。
cygwin不是一个编译器,它是一组在Windows中创建类似Linux的环境的库,以及用这些库编译的常用linux工具。它对用Unixism编写的代码很有用(期望文件以某种方式运行) ,或假设目录分隔符为/
,或假设Linux路径。)
如果你有纯Windows代码,你会对Visual C ++(MSVC)最开心。或者,如果这不能很好地优化,那么英特尔C ++编译器。
Visual C ++也适用于符合ISO标准的可移植代码......但微软在实现C ++ 11和C ++ 14功能方面略胜一筹。所以这是你可能想要使用gcc(或clang)的另一个原因。