Windows 下的 Linux环境

Linux105

概述

主要是两个派系: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学长

相关文章
Linux

easylog — Linux 下的简单日志库

之前使用 log4c 或者 log4cpp 的时候, 总需要配置一些文件和链接库之类复杂的配置。 虽然越复杂越说明这个软件支持的功能多、可选择性强, 但是对于一个小的项目,或者要研究他人的代码而加点儿...
Linux

Bitmap在Redis中的应用(转)

原文:https://cloud.tencent.com/developer/news/387248 作者:一叶而不知秋 作为铺垫,我们先来介绍一些Bitmap的相关内容: 位图主要用于快速检索关键字...
Linux

Linux安装Nginx并配置启动命令

镜像下载、域名解析、时间同步请点击阿里云开源镜像站 安装前准备工作 因为Nginx依赖于gcc的编译环境,所以,需要安装编译环境来使Nginx能够编译起来 yum install gcc-c++ Ng...
Linux

hive日期函数

1、hive取得当前日期时间: -- 1.1) 取得当前日期: ![hive日期函数](https://johngo-pic.oss-cn-beijing.aliyuncs.com/articles/...
Linux

redis开启远程访问

redis默认只允许本地访问,要使redis可以远程访问可以修改redis.conf 打开redis.conf文件在 NETWORK部分有说明 By default, if no "bind" con...
Linux

认识网络IO模型

BIO模型****在Linux中,默认情况下所有socket都是阻塞模式。用户线程调用系统函数read()【system call】,内核开始准备数据(从磁盘/网络获取数据),内核准备数据完成后,用户...
Linux

Linux 软件管理

Linux管理软件的三种方法: 包管理 使用仓库管理 编译安装 软件相关概念: ABI: ABI:Application Binary Interface。应用程序的二进制接口。windows和Lin...
Linux

redis 开机启动安装

先make把环境装上,然后可以选择用utils文件夹下的./install_server.sh命令进行开机启动安装 1、编写redis.conf配置文件 1)、 设置密码,打开requirepass节...
Linux

Docker安装教程

这里介绍两种安装方法:centsOS安装和Ubuntu安装 CentOS安装 linux内核版本建议3.8以上,作者本人使用的是3.10;查看内核版本命令:uname -r 一般CentOS7以上都可...
Linux

如何写出健壮可靠的shell脚本

1 脚本失败时即退出 ; set -e 例子: 可以在脚本的开头设置如下 set -e 2 打印脚本执行过程 sh -x test.sh #整个过程执行了哪些命令 或者在开头加上set -x 3 显示...