Windows 下的 Linux环境

Linux171

概述

主要是两个派系:mingw和cygwin
mingw:看官网就可以知道是干啥的了"GCC for Windows 64 & 32 bits",也就是说mingw只是在Windows下把gcc的代码编译了个gcc.exe出来,让我们在Windows上也可以用gcc编译c代码
实际上mingw也移植了一些其他工具到Windows上,这些工具和gcc打包起来(包括一个模拟终端),取了个名字叫"mingw"
Windows 下的 Linux环境
cygwin:cygwin则是给让很多Linux可以用的工具软件在Windows上用,但是它依赖一个cygwin1.dll(把Windows api包装成linux api)
Windows 下的 Linux环境

简单总结:
cygwin编译得到的程序需要依赖cygwin的dll才能运行。
mingw编译的到得程序在win32下直接可以运行。

原理:
cygwin是做了一层系统api的包装,转换win api成unix api,这些api就在cygwin1.dll中。所以编译器和程序调用不知道自己在unix环境下还是win环境下。
mingw则是修改了编译器,gcc但凡是要去调用unix api的地方都做了转换,去调用win api。所以mingw编译得到的exe可以直接在win环境里运行。

历史演变

主要是mingw:

输入验证码查看隐藏内容

扫描二维码关注本站微信公众号 Johngo学长
或者在微信里搜索 Johngo学长
回复 svip 获取验证码
wechat Johngo学长