Cygwin和MinGW的区别与联系
答案:1 悬赏:50 手机版
解决时间 2021-11-30 06:07
- 提问者网友:聂風
- 2021-11-29 22:26
Cygwin和MinGW的区别与联系
最佳答案
- 五星知识达人网友:封刀令
- 2021-11-29 23:25
1、从目标上说
MinGW 是让Windows 用户可以用上GNU 工具,比如GCC。
Cygwin 提供完整的类Unix 环境,Windows 用户不仅可以使用GNU 工具,理论上Linux 上的程序只要用Cygwin 重新编译,就可以在Windows 上运行。
2、从能力上说
如果程序只用到C/C++ 标准库,可以用MinGW 或Cygwin 编译。
如果程序还用到了POSIX API,则只能用Cygwin 编译。
3、从依赖上说
程序经MinGW 编译后可以直接在Windows 上面运行。
程序经Cygwin 编译后运行,需要依赖安装时附带的cygwin1.dll。
Cygwin是用一个dll模拟linux环境来“欺骗”应用程序,好像自己运行在linux环境下;而mingw是在编译时提供linux到windows必要代码的“翻译”转换,用到的还是windows运行时库。
在cygwin下编译出来的程序需要cygwin.dll才能在windows下运行,源码拿到linux环境下重新编译就可以在linux下跑起来;mingw环境下编译出来的程序,只能在windows下跑,源码在linux环境下编译多半通不过。
MinGW 是让Windows 用户可以用上GNU 工具,比如GCC。
Cygwin 提供完整的类Unix 环境,Windows 用户不仅可以使用GNU 工具,理论上Linux 上的程序只要用Cygwin 重新编译,就可以在Windows 上运行。
2、从能力上说
如果程序只用到C/C++ 标准库,可以用MinGW 或Cygwin 编译。
如果程序还用到了POSIX API,则只能用Cygwin 编译。
3、从依赖上说
程序经MinGW 编译后可以直接在Windows 上面运行。
程序经Cygwin 编译后运行,需要依赖安装时附带的cygwin1.dll。
Cygwin是用一个dll模拟linux环境来“欺骗”应用程序,好像自己运行在linux环境下;而mingw是在编译时提供linux到windows必要代码的“翻译”转换,用到的还是windows运行时库。
在cygwin下编译出来的程序需要cygwin.dll才能在windows下运行,源码拿到linux环境下重新编译就可以在linux下跑起来;mingw环境下编译出来的程序,只能在windows下跑,源码在linux环境下编译多半通不过。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯