在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借助于他的特性,具有了交叉编译器的功能,即在一个平台下编译另一个平台的代码。
如今,在Windows下比较流行的GCC移植版主要有三个。他们是 MinGW,Cygwin和Djgpp。虽然,Djgpp是应用于DOS系统的,考虑到windows对DOS的兼容,所以也将Djgpp纳入其中了。
第二节 入乡随俗的MinGW
MinGW是Minimalistic GNU for Windows 的缩写。她是一个建立在GCC和binutils 项目上的编译器系统。和其他GCC的移植版相比,她可以说是最接近Win32的一个了。因为,MinGW几乎支持所有的Win32API,这也是MinGW的特色之一。她所连接的程序,不需要任何第三方库就可以运行了。在某种程度上看,MinGW更像是VC的替代品。
MinGW可以从MinGW的官方网站 http://www.mingw.org 上获得。
首先,你要从 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工具,用以更好的管理你的项目
|
最后到DOS终端上,将当前目录转换成 $(MINGW)/bin 下。输入
C:/>gcc -v |
你可以从 http://www.mingw.org/download.shtml 上下载 MinGW5.0.2.exe 这个程序。至少,在我写此文的时候,这个是最新版本。
对于设置,我们只需要在环境变量中的PATH 变量中,添加$(MINGW)/bin这个路径就可以了。
第三节 人在曹营心在汉的Cygwin
Cygwin可以从Cygwin的官方网站获得安装程序 http://www.cygwin.com/
在到了选择安装的组件时,在Devel 选项下,将gcc-core,gcc-g++ 等前的skip 点击成你所需要的版本号。
然后在 Lib选项卡中,将glib2,glib2-devel,glib2-runtime前的skip点成版本号。
$cd /cygdrive/d/ |
第四节 脚踏两只船的Djgpp
Djgpp,可以从Djgpp的官方网站上下载 http://www.delorie.com/djgpp/
总体来说,这篇文章写的有些匆忙。所以可能有些地方有不足。所以,希望各位能够多多原谅批评和指教。下一章,我将介绍GCC for Win32的IDE。同时,从这一章开始,我将向各位读者做一个小小的要求。那就是,希望你们能够将自己对这篇文章感到的不足告诉我,我将随时修改以发表的内容,以适合广大读者的要求。如果各位有什么想法或者意见,疑惑。