概述
主要是两个派系:mingw和cygwin
mingw:看官网就可以知道是干啥的了"GCC for Windows 64 & 32 bits",也就是说mingw只是在Windows下把gcc的代码编译了个gcc.exe出来,让我们在Windows上也可以用gcc编译c代码
实际上mingw也移植了一些其他工具到Windows上,这些工具和gcc打包起来(包括一个模拟终端),取了个名字叫"mingw"
cygwin:cygwin则是给让很多Linux可以用的工具软件在Windows上用,但是它依赖一个cygwin1.dll(把Windows api包装成linux api)
简单总结:
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:
相关文章
【Redis】单线程理解及可能影响性能的操作
一. Redis的单线程 二. 可能影响单线程性能的操作 1. bigKey操作 2. 复杂命令 3. 大量key集中过期 4. 淘汰策略 5. 主从全量同步生成RDB 6. AOF刷盘开启alway...
easylog — Linux 下的简单日志库
之前使用 log4c 或者 log4cpp 的时候, 总需要配置一些文件和链接库之类复杂的配置。 虽然越复杂越说明这个软件支持的功能多、可选择性强, 但是对于一个小的项目,或者要研究他人的代码而加点儿...
Bitmap在Redis中的应用(转)
原文:https://cloud.tencent.com/developer/news/387248 作者:一叶而不知秋 作为铺垫,我们先来介绍一些Bitmap的相关内容: 位图主要用于快速检索关键字...
Linux安装Nginx并配置启动命令
镜像下载、域名解析、时间同步请点击阿里云开源镜像站 安装前准备工作 因为Nginx依赖于gcc的编译环境,所以,需要安装编译环境来使Nginx能够编译起来 yum install gcc-c++ Ng...
致远 OA 组合 getshell
测试版本为: 致远 A8-V5 协同管理软件 V6.1SP2 1.获取cookie信息 2.Ӡ...
redis开启远程访问
redis默认只允许本地访问,要使redis可以远程访问可以修改redis.conf 打开redis.conf文件在 NETWORK部分有说明 By default, if no "bind" con...
Linux 软件管理
Linux管理软件的三种方法: 包管理 使用仓库管理 编译安装 软件相关概念: ABI: ABI:Application Binary Interface。应用程序的二进制接口。windows和Lin...
redis 开机启动安装
先make把环境装上,然后可以选择用utils文件夹下的./install_server.sh命令进行开机启动安装 1、编写redis.conf配置文件 1)、 设置密码,打开requirepass节...
Docker安装教程
这里介绍两种安装方法:centsOS安装和Ubuntu安装 CentOS安装 linux内核版本建议3.8以上,作者本人使用的是3.10;查看内核版本命令:uname -r 一般CentOS7以上都可...
如何写出健壮可靠的shell脚本
1 脚本失败时即退出 ; set -e 例子: 可以在脚本的开头设置如下 set -e 2 打印脚本执行过程 sh -x test.sh #整个过程执行了哪些命令 或者在开头加上set -x 3 显示...
Redis 为什么使用单进程单线程方式也这么快(转载)
Redis 采用的是基于内存的采用的是单进程单线程模型的 KV 数据库,由 C 语言编写。官方提供的数据是可以达到100000+的 qps。这个数据不比采用单进程多线程的同样基于内存的 KV 数据库 ...
Hive存储格式之RCFile详解,RCFile的过去现在和未来
我在整理Hive的存储格式和压缩格式,本来打算一篇发出来,结果其中一小节就有很多内容,于是打算写成Hive存储格式和压缩格式系列。 本节主要讲一下Hive存储格式最早的典型的列式存储格式RCFile。...
CentOS7.6下安装Redis5.0.7
此次安装是在CentOS7下安装Redis5.0.7 这里下载的是 ...