在Windows操做系统下的gcc

在Windows操做系统下的gcchtml

第一节 GCC家族概览c++

GCC是一个本来用于Unix-like系统下编程的编译器。
不过,如今GCC也有了许多Win32下的移植版本。因此,也许对于许多Windows开发者来讲,GCC仍是一个比较陌生的东西。因此,我但愿经过这章的叙述,让你——一个Windows开发者对GCC这一个优秀的编译器有一个大概的了解。

历史

GCCGNU公社的一个项目。是一个用于编程开发的自由编译器。最初,GCC只是一个C语言编译器,他是GNU C Compiler 的英文缩写。随着众多自由开发者的加入和GCC自身的发展,现在的GCC以经是一个包含众多语言的编译器了。其中包括 C,C++,Ada,Object CJava等。因此,GCC也由原来的GNU C Compiler变为GNU Compiler Collection。也就是 GNU编译器家族 的意思。固然,现在的GCC借助于他的特性,具备了交叉编译器的功能,即在一个平台下编译另外一个平台的代码。程序员

直到如今, GCC 的历史仍然在继续,他的传奇仍然被人所传颂。

Windows 下的 GCC 家族

起初, GCC 是用于 Unix,Unix-like 系统的编译器。不过,如今 Windows 下也出现了 GCC 的稳定移植版。这要感谢 Internet 上众多程序员的共同努力。

现在,在Windows下比较流行的GCC移植版主要有三个。他们是 MinGW,CygwinDjgpp。虽然,Djgpp是应用于DOS系统的,考虑到windowsDOS的兼容,因此也将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

第二节 入乡随俗的MinGWwindows

简介

MinGWMinimalistic GNU for Windows 的缩写。她是一个创建在GCCbinutils 项目上的编译器系统。和其余GCC的移植版相比,她能够说是最接近Win32的一个了。由于,MinGW几乎支持全部的Win32API,这也是MinGW的特点之一。她所链接的程序,不须要任何第三方库就能够运行了。在某种程度上看,MinGW更像是VC的替代品。api

得到与安装

MinGW能够从MinGW的官方网站 http://www.mingw.org 上得到。函数

若是,你要安装 MinGW ,那么你有两种安装方案。下面我来一一介绍。

安装方案一:

首先,你要从 http://www.mingw.org/download.shtml 上下载以下几个压缩包。考虑到文件的更新和文章的灵活性。我将只写出文件的主要部分,将省去版本好和更新日期。工具

gcc-core C语言编译器
gcc-c++ C++语言编译器
mingw-runtime MinGW的运行时库(这个必须安装)

win32apipost

win32API函数头文件和链接库

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 为用户作了更好多的安排。她为用户提供了一个定制安装的页面。
您只须要在上面填写响应的内容,而后递交。她将会给你一份完整的安装方案。

使用

相对来讲, Djgpp 我并非常用。因此,本文中在没有特殊说明状况下,不会使用 Djgpp 的。

文外音:

整体来讲,这篇文章写的有些匆忙。因此可能有些地方有不足。因此,但愿各位可以多多原谅批评和指教。下一章,我将介绍GCC for Win32IDE。同时,从这一章开始,我将向各位读者作一个小小的要求。那就是,但愿大家可以将本身对这篇文章感到的不足告诉我,我将随时修改以发表的内容,以适合广大读者的要求。若是各位有什么想法或者意见,疑惑。 

相关文章
相关标签/搜索