1、MSVC:Microsoft Visual C++ Compiler
由微软开发的VC运行时库,被Visual Studio IDE所集成。使用VS时会附带MSVC编译器。
2、GCC:GNU Compiler Collection
GNU编译器套件,是由GNU开发的编程语言编译器。
3、Clang
Clang 是一个 C 语言、C++、Objective-C 语言的轻量级编译器。
4、MinGW:Minimalist GNU For Windows
在没有第三方动态链接库的情况下使用 GCC(GNU Compiler C)产生 Windows32 程序。
实际上 MinGW 并不是一个 C/C++ 编译器,而是一套 GNU 工具集合。除开 GCC (GNU 编译器集合) 以外,MinGW 还包含有一些其他的 GNU 程序开发工具 (比如 gawk bison 等等)。
开发 MinGW 是为了那些不喜欢工作在 Linux(FreeBSD) 操作系统而留在 Windows 的人提供一套符合 GNU 的 GNU 工作环境。在 windows 下使用 gcc/gdb。
5、Cygwin
一个在windows平台上运行的类UNIX模拟环境,是Cygnus Solutions公司开发的自由软件。
Unix下编译通过的C代码,在win32下编译可能通不过,因为unix有自己一些独特的API(如fork,spawn,signals,select,sockets),如果代码中使用了这些API 在win32下当然找不到对应的库。
一个能让window编译Unix风格代码的方法
mingw 修改编译器:让window下的编译器把如fork的调用翻译成等价的形式
cygwin 修改库:让window提供一个类似unix提供的库,对程序的接口如同unix一样,这些库是由win32的API实现