导读:
  在Windows操作系统下的gcc
  第一节 GCC家族概览
  GCC是一个原本用于Unix-like系统下编程的编译器。
  只是,如今GCC也有了很多Win32下的移植版本号。所以,或许对于很多Windows开发人员来说,GCC还是一个比較陌生的东西。所以,我希望通过这章的叙述,让你——一个Windows开发人员对GCC这一个优秀的编译器有一个大概的了解。
  历史
  GCC是GNU公社的一个项目。是一个用于编程开发的自由编译器。最初,GCC仅仅是一个C语言编译器,他是GNU C Compiler 的英文缩写。随着众多自由开发人员的加入和GCC自身的发展,如今的GCC以经是一个包括众多语言的编译器了。当中包括 C,C++,Ada,Object C和Java等。所以,GCC也由原来的GNU C Compiler变为GNU Compiler Collection。也就是 GNU编译器家族 的意思。当然,如今的GCC借助于他的特性,具有了交叉编译器的功能,即在一个平台下编译还有一个平台的代码。
  直到如今,GCC的历史仍然在继续,他的传奇仍然被人所传颂。
  Windows下的GCC家族
  起初,GCC是用于Unix,Unix-like系统的编译器。只是,如今Windows下也出现了GCC的稳定移植版。这要感谢Internet上众多程序猿的共同努力。
  如今,在Windows下比較流行的GCC移植版主要有三个。他们是 MinGW,Cygwin和Djgpp。尽管,Djgpp是应用于DOS系统的,考虑到windows对DOS的兼容,所以也将Djgpp纳入当中了。
  整体来说,MinGW,Cygwin和Djgpp各有特色,针对不同的应用场合,能够选择不同的移植版来满足须要。MinGW这个系列的移植,主要方向是让GCC的Windows移植版能使用Win32API来编程。而Cygwin的目标是能让Unix-like下的程序代码在Windows下直接被编译。至于Djgpp,则是想让DOS下也能用上GCC。
  所以,对于开发人员不同的需求。选择合适的移植版会让工作变得轻松而高效。
  本书的GCC
  我个人对GCC的移植版都非常喜欢。不论是MinGW还是Cygwin,亦或是Djgpp。在本书中,除了特殊说明以外,所述的内容适合全部这三种移植版。
  只是,考虑到如今在Windows下用的比較多的是MinGW系列。再加上MinGW较Cygwin和Djgpp安装和使用更为简便。所以,建议读者学习时还是使用MinGW。
  第二节 入乡随俗的MinGW
  简单介绍
  MinGW是Minimalistic GNU for Windows 的缩写。她是一个建立在GCC和binutils 项目上的编译器系统。和其它GCC的移植版相比,她能够说是最接近Win32的一个了。由于,MinGW差点儿支持全部的Win32API,这也是MinGW的特色之中的一个。她所连接的程序,不须要不论什么第三方库就能够执行了。在某种程度上看,MinGW更像是VC的替代品。
  获得与安装
  MinGW能够从MinGW的官方站点 http://www.mingw.org上获得。
  假设,你要安装MinGW,那么你有两种安装方案。以下我来一一介绍。
  安装方案一:
  首先,你要从 http://www.mingw.org/download.shtml上下载例如以下几个压缩包。考虑到文件的更新和文章的灵活性。我将仅仅写出文件的主要部分,将省去版本号好和更新日期。
  gcc-core C语言编译器
  gcc-c++ C++语言编译器
  mingw-runtime MinGW的执行时库(这个必须安装)
  win32api win32的API函数头文件和连接库
  binutils MinGW的汇编器和连接器等基础工具
  gdb MinGW中的调试工具
  mingw32-make Make工具,用以更好的管理你的项目
  然后,将上述文件逐一下载,然后全部解压缩到一个文件夹下就能够了,我这里假设你是移动到$(MINGW)这个文件夹下了。这样,你的MinGW就算成功安装了。
  最后到DOS终端上,将当前文件夹转换成 $(MINGW)/bin 下。输入
  C:/>gcc -v
  看到一段gcc的版本号信息,这就能说明,你的gcc已经能够正常工作了。
  安装方案二:
  你能够从 http://www.mingw.org/download.shtml上下载 MinGW5.0.2.exe 这个程序。至少,在我写此文的时候,这个是最新版本号。
  下载以后执行安装,至于安装过程,我想我就不一一介绍了。对于Windows下的开发人员,我想这个应该不是什么问题了。
  在一切都选择好以后。这个程序就開始从Internet上下载所须要的压缩包。然后,逐一解开,安装。
  整体来说,两种方法各有好处。只是,本人偏爱第一中方法。由于,控制度高,并且,更新也比較简单。自己心里也比較明了。
  环境设置:
  对于我们这些使用者来说,最好是能够简单方便的使用工具。所以,我们就须要设置环境,便于我们使用MinGW。
  对于设置,我们仅仅须要在环境变量中的PATH 变量中,加入$(MINGW)/bin这个路径就能够了。
  这样,你就能够在不论什么文件夹下使用MinGW了。
  第三节 人在曹营心在汉的Cygwin
  介绍
  Cygwin,事实上并非一个GCC。她是让Windows拥有Unix-like环境的软件。所以,GCC自然也就会包括在里面。只是,对于开发人员,Cygwin是一个开发环境。而对于用户来说Cygwin是一个执行环境。
  Cygwin唯一和MinGW最大的差别在于,使用Cygwin能够在Windows下调用Unix-like的系统函数。比方进程函数,等等。所以,尽管说,Cygwin是执行在Windows下的,可是她还是使用的是Unix-like系统的函数和思想。
  获得与安装
  Cygwin能够从Cygwin的官方站点获得安装程序 http://www.cygwin.com/
  在站点上下载Cygwin的安装程序setup.exe。然后执行便能够了。
  关于前面的设置,我想不用多做介绍了。由于,对于这些我想Windows下的开发人员应该相当清楚了。
  在到了选择安装的组件时,在Devel 选项下,将gcc-core,gcc-g++ 等前的skip 点击成你所须要的版本号号。
  然后在 Lib选项卡中,将glib2,glib2-devel,glib2-runtime前的skip点成版本号号。
  接下来,就点击next就能够了。在一段漫长的等待时间后,你的Cygwin开发环境就算安装好了。
  相对来说,Cygwin的安装和配置都比較简单。由于,Cygwin提供了一个比較健全的安装程序。
  使用
  在安装文件夹下,执行cygwin.bat就能够启动cygwin环境了。这是一个模拟Linux的环境,所以非常多地方可能和Dos有比較大的差距。只是,你编译出的程序能够直接在其它没有安装Cygwin的机器上执行。还有,假设要切换到windows下的其它盘下,比方D盘。那么就能够使用
  $cd /cygdrive/d/
  对于Cygwin很多其它关于使用的内容,你能够到Linux社区去获得參考。
  第四节 脚踏两仅仅船的Djgpp
  介绍
  Djgpp,是一个在纯Dos下的GCC移植版本号。她使用一些软件将纯Dos设置成32位的环境,并执行由她编译出来的程序。整体来说,Djgpp并非一个Windows的移植版。只是,她确实能够在Windows下执行。对于一些特殊应用。Djgpp是唯一适合的。
  获得与安装
  Djgpp,能够从Djgpp的官方站点上下载 http://www.delorie.com/djgpp/
  只是,这里Djgpp为用户做了更好多的安排。她为用户提供了一个定制安装的页面。
  http://www.delorie.com/djgpp/zip-picker.html
  您仅仅须要在上面填写响应的内容,然后递交。她将会给你一份完整的安装方案。
  使用
  相对来说,Djgpp我并非常常使用。所以,本文中在没有特殊说明情况下,不会使用Djgpp的。
  文外音:
  整体来说,这篇文章写的有些匆忙。所以可能有些地方有不足。所以,希望各位能够多多原谅批评和不吝赐教。下一章,我将介绍GCC for Win32的IDE。同一时候,从这一章開始,我将向各位读者做一个小小的要求。那就是,希望你们能够将自己对这篇文章感到的不足告诉我,我将随时改动以发表的内容,以适合广大读者的要求。假设各位有什么想法或者意见,疑惑。
  Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1819084

本文转自
http://blog.csdn.net/Mobidogs/archive/2007/10/10/1819084.aspx

gcc for Windows 开发环境介绍的更多相关文章

  1. GCC for Win32开发环境介绍

    http://blog.csdn.net/VisionCat/article/details/711693 http://blog.csdn.net/VisionCat/article/categor ...

  2. BI之SSAS完整实战教程2 -- 开发环境介绍及多维数据集数据源准备

    上一篇我们已经完成所有的准备工作,现在我们就开始动手,通过接下来的三篇文章创建第一个多维数据集. 传统的维度和多维数据集设计方法主要是基于现有的单源数据集. 在现实世界中,当开发商业智能应用程序时,很 ...

  3. Arduino可穿戴开发入门教程Arduino开发环境介绍

    Arduino可穿戴开发入门教程Arduino开发环境介绍 Arduino开发环境介绍 Arduino不像我们使用的PC端操作系统一样,可以直接在操作系统中安装软件为操作系统编程.Arduino的软件 ...

  4. Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例【附详细代码】

    http://blog.csdn.net/xiefu5hh/article/details/51707529 Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例[附 ...

  5. (二)react-native开发系列之windows开发环境配置

    之前写了react-native在mac上得环境搭建,但是如果只开发android的话,只要用windows系统就可以了,下面就来说下react-native的windows开发环境配置. 1.下载配 ...

  6. Windows 8 Metro 应用开发入门(一):开发环境介绍

    摘 要 Windows8已经发布,随之而来的基于WinRT的Metro应用也正向我们走来,正像它所宣传的:光滑.快.现代.看习惯了玻璃.立体风格的应用,或许Metro的简洁能给你留下不一样的体验.Vi ...

  7. Objective-C在windows开发环境的搭建

    转自 http://www.hdj.me/objective-c-in-windows 安装GNUstep GNUstep Windows Installer提供了Windows平台下的Objecti ...

  8. 我的windows开发环境设定与日常使用指南

    目录 开发相关的软件包安装.设定 Visual Studio 默认设定 鼠标右键添加"在此处打开cmd"选项 git gvim notepad++ VSCode-Insider C ...

  9. 【转】cocos2d-x windows开发环境配置

    声明:本教程在参考了以下博文,并经过自己的摸索后实际操作得出,本教程系本人原创,由于升级后的cocos2d-x有了一些变化,目前的博文还没有关于Cocos2d-x 2.2.1最新版搭建Android交 ...

随机推荐

  1. 微信支付v2开发(9) 标记客户投诉处理状态

    本文介绍微信支付中如何标记客户投诉的处理状态. 一.API Api 的 url 为: https://api.weixin.qq.com/payfeedback/update?access_token ...

  2. Android LruCache类分析

    public class LurCache<K, V> { private final LinkedHashMap<K, V> map; private int size; / ...

  3. 【例题 7-1 UVA - 725】Division

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 枚举分母从0到99999. 得到分子,判断合法 [代码] /* 1.Shoud it use long long ? 2.Have ...

  4. 并发控制MsSql

    Isolation   阅读目录(Content) 1 并发控制理论 1.1 悲观并发控制 1.2 乐观并发控制 2 隔离级别 2.1 隔离级别说明 2.2 Read Commmitted Snaps ...

  5. JS学习笔记 - fgm练习 - 鼠标移入/移出div样式改变

    思路: div的默认样式正常设置. 鼠标移入时,发生改变的样式有3个,即 边框颜色,div背景色,字体颜色. 把这三个css改变设置在一个类名下,再通过js给div动态 添加/去除这个类名,实现div ...

  6. 应用Python来计算排列中的逆序数个数

    在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序.一个排列中逆序的总数就称为这个排列的逆序数.一个排列中所有逆序总数叫做这个排列的逆序数.也就是说,对于 ...

  7. 关于 /etc/zabbix/zabbix_agentd.conf 文件 Hostname 文件的说明

    前提 (1) /etc/hosts 文件如下 [root@testdb ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain loc ...

  8. kafka集群操作指南

    目录 kafka集群操作指南 (一)单机版安装 (二)集群安装 (三)集群启停操作 (四)topic相关的操作 (五)某个broker挂掉,本机器可重启 (六)某个broker挂掉且无法重启,需要其它 ...

  9. 安装及XShell软件的配置

    Linux系统centOS7在虚拟机下的安装及XShell软件的配置   前面的话 本文将详细介绍Linux系统centOS7在虚拟机下的安装 准备工作 [系统下载] 在安装centOS7之前,首先在 ...

  10. anaconda中实现双spyder版本

    1)先在conda中创建一个名为python2的环境,并下载对应版本python2.7 conda create --name python27 python=2.7 2)激活python2环境 ac ...