【转】简说GNU, GCC and MinGW (Lu Hongling)
原地址:https://my.oschina.net/u/588967/blog/73478
GNU, GCC, MinGW是开源社区常常要遇到的概念. 网上一般的解释比较繁琐, 让人如坠云雾. 本文力图用简便直观的语言对这三个概念进行解释.
1 什么是GNU?
GNU是“GNU's Not Unix!”的缩写. 1983年,针对当时Unix操作系统垄断计算机界的情况,前MIT计算机专家Richard Stallman提出建立一个免费且代码开放的计算软件系统的设想. 这个设想就叫“GNU计划”或“GNU项目”(GNU project).30年来GNU计划已经吸引了全世界计算机领域的大量志愿者加入,相当成功. 目前,GNU计划下的免费开源软件不计其数,非常有用。GNU 计划在WWW 上催生了许多开源社区,著名的有Apache Software Foundation (ASF),
SourceForge, OpenSymphony and so on. 我国比较好的是“开源中国” (oschina)。
2 什么是GCC?
GCC是“GNU Compiler Collection”的缩写。它是GNU计划下开发出的一套计算机语言编译系统包括C/C++, Fortran, Java, Ada等编译器。当然是开源免费的,GNU下的任何东西都是免费开源的。
3 什么是MinGW?
GCC是基于Linux平台的。原始的GCC当然不能在Windows下用。将GCC移植到Windows下的东西就是MinGW. 它是“Minimalist GNU on Windows”的缩写。MinGW也包括 C/C++, Fortran, Java,Ada等语言的编译器. 同样MinGW也是完全免费的. 在windows下按装MinGW后, C/C++, Fortran, Java, 等的编译器就全有了, 不在需要什么VC, Virtual Fortran之类的东西了.
4 GNU计划发展简史
• 1983: Richard Stallman提出GNU 计划;
• 1987: GCC 1.0 发布。当时只包括C编译器,所以GCC在当时是“GNU C Compiler”的缩写;
• 1990: GNU Emac发布;GCC 发展成多语言编译器系统, 变为“GNU Compiler Collection”
• 1991: Linus Torvalds 推出Linux操作系统;
• 1992: Linux 加入GNU成为GNU/Linux, 简称Linux.
• 1992: – 大量GNU软件被开发和发布
【转】简说GNU, GCC and MinGW (Lu Hongling)的更多相关文章
- Environment error: “CodeBloks can't find compiler executable in your configured search path's for GNU GCC compiler”
codeblock安装后,提示cant find compiler executable in your configured search paths for GNU GCC Compiler 可能 ...
- 关于GCC Cygwin MinGW MSYS
[转载]关于Gcc/MinGW/Cygwin/Msys http://blog.sciencenet.cn/blog-778757-616920.html 一.GCC的历史 GCC是一个原本用于Uni ...
- C++对象模型与内存位对齐的简单分析(GNU GCC&VS2015编译器)
以Fruit和Apple为例进行分析: Fruit和Apple的定义如下: 通过在两种编译环境下的测试(GNU GCC & VS2015),可以发现这两种编译器的对象模型是一样的,如下图所示: ...
- macbook中gcc替换为gnu gcc
macbook中gcc被定义为clang,而正统的gnu gcc却只能使用gcc-7(gcc 7版本),然而,如果修改/usr/bin的链接,还容易造成系统错误,因为mac的工具链和gcc(clang ...
- gcc和MinGW的异同
cygwin/gcc和MinGW都是gcc在windows下的编译环境,但是它们有什么区别,在实际工作中如何选择这两种编译器. cygwin/gcc完全可以和在linux下的gcc化做等号,这个可以从 ...
- mac下使用gnu gcc
1 mac下安装gnu gcc brew search gcc brew install gcc@6 2 mac下编写c/c++代码所需的标准库和头文件 2.1 标准c++的库的头文件都是标准化了的, ...
- gcc和MinGW的异同(在cygwin/gcc做的东西可以无缝的用在linux下,没有任何问题,是在windows下开发linux程序的一个很好的选择)
cygwin/gcc和MinGW都是gcc在windows下的编译环境,但是它们有什么区别,在实际工作中如何选择这两种编译器. cygwin/gcc完全可以和在linux下的gcc化做等号,这个可以从 ...
- GNU GCC 扩展属性
http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html constructor destructor constructor (prior ...
- Linux/RedHat 编译安装GNU gcc 4.9.0 (g++)
这里说的是编译安装,yum/apt-get 等安装方法比較简单,不阐述! 1.下载源代码包:gcc.gnu.org 2.解压: tar -xjvf gcc-4.9.0.tar.bz2 3.下载编译所需 ...
随机推荐
- nginx-vod-module && docker && docker-compose 测试
nginx-vod-module appdemo i reference [nginx-vod-module-docker](https://github.com/NYTimes/nginx-vod- ...
- SEO -- WP如何建立SiteMap
站点地图对网站的seo优化有着相当重要的作用,而WordPress的优势就是插件特别的多,也特别符合蜘蛛的口味,在wp上建立站点地图是相当简单的事情,只需要一款插件和几步简单的配置 Google XM ...
- 洛谷2473(SCOI2008)奖励关
题目:https://www.luogu.org/problemnew/show/P2473 因为可不可选此物与之前选过什么物品有关,所以状态可以记录成前面已经选过什么物品. 因为选不选此物与它带来的 ...
- JProfiler 8(一个很好的java性能监控工具) 下载和注册码
windows x64 zip下载地址:http://download-aws.ej-technologies.com/jprofiler/jprofiler_windows-x64_8_0_1.zi ...
- Excel图片调整大小
Excel图片调整大小 Sub 图片调整合适大小() ' Debug.Print ActiveWorkbook.Name 图片显示比例 = 0.9 '1为顶满单元格 Dim wb As Workboo ...
- post参数的方法 json data 和特别的传参
json格式传参: 那么久使用json的方式传参: json=payload data格式传参: 其他方式传参: 在webFormes里 value 的值不是普通的字符 要把value值先序列化在放入 ...
- python文本挖掘输出权重,词频等信息,画出3d权重图
# -*- coding: utf-8 -*- from pandas import read_csv import numpy as np from sklearn.datasets.base im ...
- 手工编写servlet
index.jsp: <%@ page language="java" import="java.util.*" contentType="te ...
- Elasticsearch client node 启动时出现警告:exception caught on transport layer 及java.net.NoRouteToHostException: No route to host
发现该问题源自发现kibana不能打开sense,并且看见elasticsearch插件处于服务不可用状态,但是在client node上curl localhost:9200发现能够返回ES基本信息 ...
- 使用jenkins SVN MSBuil配置.net mvc网站进行持续集成
通过多次搭建Jenkins持续构建环境,终于对Jenkins有了进一步认识,在此把所学所得和大家分享一下,希望可以帮助大家快速掌握Jenkins的核心思想.看了很多文章,最终决定使用Jenkins.以 ...