原地址: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)的更多相关文章

  1. 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 可能 ...

  2. 关于GCC Cygwin MinGW MSYS

    [转载]关于Gcc/MinGW/Cygwin/Msys http://blog.sciencenet.cn/blog-778757-616920.html 一.GCC的历史 GCC是一个原本用于Uni ...

  3. C++对象模型与内存位对齐的简单分析(GNU GCC&VS2015编译器)

    以Fruit和Apple为例进行分析: Fruit和Apple的定义如下: 通过在两种编译环境下的测试(GNU GCC & VS2015),可以发现这两种编译器的对象模型是一样的,如下图所示: ...

  4. macbook中gcc替换为gnu gcc

    macbook中gcc被定义为clang,而正统的gnu gcc却只能使用gcc-7(gcc 7版本),然而,如果修改/usr/bin的链接,还容易造成系统错误,因为mac的工具链和gcc(clang ...

  5. gcc和MinGW的异同

    cygwin/gcc和MinGW都是gcc在windows下的编译环境,但是它们有什么区别,在实际工作中如何选择这两种编译器. cygwin/gcc完全可以和在linux下的gcc化做等号,这个可以从 ...

  6. mac下使用gnu gcc

    1 mac下安装gnu gcc brew search gcc brew install gcc@6 2 mac下编写c/c++代码所需的标准库和头文件 2.1 标准c++的库的头文件都是标准化了的, ...

  7. gcc和MinGW的异同(在cygwin/gcc做的东西可以无缝的用在linux下,没有任何问题,是在windows下开发linux程序的一个很好的选择)

    cygwin/gcc和MinGW都是gcc在windows下的编译环境,但是它们有什么区别,在实际工作中如何选择这两种编译器. cygwin/gcc完全可以和在linux下的gcc化做等号,这个可以从 ...

  8. GNU GCC 扩展属性

    http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html constructor destructor constructor (prior ...

  9. 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.下载编译所需 ...

随机推荐

  1. ORA-01033: ORACLE initialization or shutdown in progress --手动删除表空间 DBF 后无法登陆问题

    进入CMD,执行set ORACLE_SID=fbms,确保连接到正确的SID: 2.执行sqlplus "/as sysdba" SQL>shutdown immediat ...

  2. 在 Windows 下安装 Oracle 11g XE (Express Edition)

    Oracle 11g XE 是 Oracle 数据库的免费版本,支持标准版的大部分功能,11g XE 提供 Windows 和 Linux 版本. 做为免费的 Oracle 数据库版本,XE 的限制是 ...

  3. ETA6093 或 ETA9741 ETA9742 的 TYPE-C 的资料收集

    ETA6093 或 ETA9741 ETA9742 的 TYPE-C 的资料收集 因为项目使用. 这个 IC 好玩,但是还是有一些需要注意的. 对我有用的信息. http://www.great-et ...

  4. Kotlin Android学习入门

    1.基本语法 https://github.com/mcxiaoke/kotlin-notes/blob/master/kotlin-tutorial-basic.md 2.推荐两篇Kotlin An ...

  5. CentOS 6.5 下搭建vsftp服务

    参考网站: http://blog.163.com/sunshine_linting/blog/static/44893323201391010522601/ http://blog.sina.com ...

  6. 移动端开发之px,em和rem详解

    px:表示的是绝对的像素值,1px就是1像素大小 em:关于em,网上有资料说是关于父元素的,但是其实个人感觉这种说法是不对的,其实em的大小是根据自身的font-size确定的,而只是正常的情况下子 ...

  7. 黄聪:VS2010编辑C#未启动,打开设计视图时报"未将对象引用设置到对象的实例"

    通常情况下,若是你将用户控件写好了放入窗体中,若是有不合理的代码,则会弹出错误提示框,不让你放.若是你之前只是随便加了一个用户控件,并且没有什么问题,但后来你又把控件改坏掉了,那么你打开就会报错(在窗 ...

  8. Java-Runoob-高级教程-实例-字符串:02. Java 实例 - 查找字符串最后一次出现的位置

    ylbtech-Java-Runoob-高级教程-实例-字符串:02. Java 实例 - 查找字符串最后一次出现的位置 1.返回顶部 1. Java 实例 - 查找字符串最后一次出现的位置  Jav ...

  9. 把MacBook里的电影导入到iPad

    主要是用iTunes -> 文件 -> 添加到资料库,然后选择影片 -> 同步 -> 应用.在iPad上点开视频APP即可. 怎样才能把mac里的电影放到ipad里_百度知道 ...

  10. 读java并发编程笔记

    同步策略:在共享资源上面加锁 java监视器模式:class对象-与之对应的锁(内置锁)[对象锁与class锁] 执行策略: 取消策略: =============================== ...