MinGW VS CygWin

来源:互联网 发布:智库网站 知乎 编辑:程序博客网 时间:2024/06/10 03:21

Programming Erlang翻的差不多了,按照之前赖赖我们的约定,看完书之后要搞一个聊天程序来练练手。但是鉴于Erlang的GUI比较丑,决定用C来实现界面,erlang和c通过interface交互。于是搞了下Eclipse for C/C++,在eclipse的帮助里边,看到MinGWCgyWin这两个toolchain,由于之前没研究过c(只用来应付过考试),所以这么经典的工具都不知道。

       MinGW是Minimalistic GNU for Windows的缩写,是gcc的windows实现,也就是一个编译器;可以在windows下写unix like的代码,即调用fork(),pthread()等unix类库,MinGW会把这些调用编译成对应的windows kernel32 调用,执行的时候不依赖MinGW,效率也比较高。一般大型程序需要MSYS辅助。

       CygWin像一个平台,是让windows拥有unix like环境的软件,gcc是安装在GygWin的编译器CygWini的gcc环境和Unix的gcc环境可以划等号编译一个大型程序,光靠一个GCC是不够的,还需要有Autoconf等工具来配置项目,CygWin就提供了这些工具。但是GygWin编译出来的程序要加入cygwin1.dll才能跑,cygwin1.dll把unix-like的函数调用转化成等价的windows调用,当然也可以通过 -mno-cygwin来依赖MinGW,就不用cygwin1.dll了。

原创粉丝点击