时间: 2003-06-08
经常从一些地方看到很多人错误的将DEV C++当作是一个编译器来对待,同时也发现了使用方式上的一些微妙错误。因此,我想谈谈我对如何善用Dev C++这一工具谈谈我的看法。这牵扯到观念与意识,我想我又要再次给朋友们洗脑了
Dev C++不是编译器
首先,我希望大家明白Dev C++本身仅仅提供一个单纯的图形界面,它并不是一个完整的开发环境。如果要想在这一环境中开发软件则需要GCC在Windows或者Linux上的变种如mingw,cygwin,djgpp等。借助这些以GCC为基础的开发环境再加上DEV C++方可构成一个完整的开放式集成开发环境IDE。这一组合的魅力在于虽然会受到版权以及许可协议的约束,但是你无须为这些东西掏一分钱。
认识基于GCC的编译器
在Windows上我们常用的就是cygwin和mingw,而djgpp变种则以DOS为主,他们3个都可以成为Dev C++的强力核心。通常他们的发行中并不仅仅包含编译器环境还附带的提供很多的实用工具。比如打包工具(tar、gzip)、文件比较工具(diff、diff3)、补丁工具(patch)、脚本自动定制工具(awk、bions)、文档编写(texinfo)…… 等等,有很多多可以选择。只有同时拥有这些辅助工具我们才可以说是有了一个完整的开发环境。(题外话:微软也推出了一个UNIX工具包,中文资料可在微软台湾找到。)
Cygwin的发展方向是尽最大可能在Windows上模拟UNIX的POSIX,因此采用这套系统编译出的软件基本上需要cygwin的POSIX模拟模块。唯一的例外,给编译器赋予-mno-cygwin指令同时安装有mingw运行时库则可以直接生成原生win32编译结果直接使用。这么做如同在Mingw下编译同一个程序一样,但是要注意如果mingw本身都无法编译这个程序在cygwin下加-mno-cygwin也是没有意义。我个人倾向于是用cygwin环境,想怎么样就怎么样,很爽的感觉。
Mingw和Djgpp发展方向是平台原生化,因此可以直接产生各个平台的原生应用。多数人选择Mingw或者djgpp就是看中这一点。Dev C++网站同时提供的就是集成Mingw的打包下载。Djgpp我没用过,不过它是可以在16位环境下写DOS下32位的程序,有趣!
提这些的目的在于帮助你选择适合自身的分支。
构建自己的强力开发环境
如果轮最强当属Dev C++ + Cygwin,但是大家都喜欢mingw,那么我就谈一下这一平台的技巧。
我们需要的是Dev C++ 最小的打包,然后前往一个日本朋友的网站
http://www63.tok2.com/home/bitwalk/download.html#mingw
下载他制作的Mingw环境集成安装程序,这个样子我们可以省点事情,而且全部东西的版本也是比较新的!
先安装好Mingw环境再装Dev C++,都安装好后设置Dev C++中的执行程序路径和包含路径。如果需要一些Dev C++封装好的包,则使用Dev C++更新程序下来回来安装即可。由于mingw和cygwin地链接器是一样的工作方式所以这些包mingw可以用,cygwin也可以用!如果有差别也是头文件上的。
更为高级的自行制作开发包的方法在我的日记上有,有些时候做这种高级应用需要你对C/C++语言以及目标开发包有更清楚地认识,否则没的玩!我只是想说,现代编译器不是一个程序,而是由多个程序程序组成,所以…… 嘻嘻,你知道的!!!
HeartIcy 发表于 2003-06-08 16:53 引用(Trackback0)
hxxp://www.blogbus.com/blogbus/blog/tb_show.php?diaryid=11204
hxxp://blogbus.com/blogbus/blog/diary.php?diaryid=11204