原地址: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. Linux驱动调试学习笔记

    1. struct task_struct current->comm[16]; /*此进程可执行文件的名字!!可只对此进程执行打印*/

  2. iOS 基础类解析 - NSDate

    版权声明:本文为博主原创文章,未经博主同意不得转载.转载联系 QQ 30952589,加好友请注明来意. https://blog.csdn.net/sleks/article/details/248 ...

  3. 用VSTS进行网站压力测试

    情境压力测试即主体向被观察者布置一定任务和作业,借以观察个体完成任务的行为.工作样本测验.无领导小组讨论都可算作情境压力测验.  在软件工程中,压力测试是对系统不断施加压力的测试,是通过确定一个系统的 ...

  4. FastAdmin 的前端环境怎么安装?

    FastAdmin 的前端环境怎么安装? 安装 Git 安装 Node.js 安装 cnpm 安装 bower 开始安装 FastAdmin 的前端组件 bower install bower upd ...

  5. linux关于ftp查看不到文件列表的问题

    今天配置linux服务器的ftp后,登录都正常,使用ftp工具登录后,所有目录都可以通过手工写路径访问,但是文件夹和文件列表看不到数据. 后来分析,总结原因得出结果是跟selinux有关,于是通过关闭 ...

  6. (转)如何实现CSS限制字数,超出部份显示点点点...

    <div style="width:200px; white-space:nowrap;overflow:hidden;text-overflow:ellipsis; border:1 ...

  7. mysql 查询所有父级名称

    SELECT T2.id, T2.name FROM ( SELECT @r AS _id, ,,@stop) as stop, (SELECT @r := p_id FROM goods_class ...

  8. Repeater使用技巧

    一.在ItemDataBound事件里面动态改变Repeater控件里面的html元素 如: <asp:Repeater ID="Repeater1" runat=" ...

  9. pythonNET day05

    孤儿进程 父进程先于子进程退出,此时子进程就会成为孤儿进程. 孤儿进程会被系统指定的进程收养,即系统进程会成为该孤儿进程新的父进程.孤儿进程退出时该父进程会处理退出状态 僵尸进程 子进程先于父进程退出 ...

  10. BTM事务配置

    请参考原贴:http://thinkdifferent.iteye.com/blog/1450433 Tomcat6上配置BTM 博客分类: practice tomcatjava )去http:// ...