Dev-C++非官方中文入门教程

Dev-C++非官方中文入门教程
前言
本教程仅仅是为了C语言入门者(暂时不涉及C++),并且假设我的读者只有中学文化。我将近可能少用术语,让你轻松理解。C很灵活,有时候用A、B两种方法都可达到目的,但我要告诉你用A方法的好处,用B方法的坏处。
与我的读者一起共勉!
导读
1、什么是 Dev-C++?
它是C程序的可视化集成编译环境(IDE),并且它是免费的,您可以去它的官方网站http://www.bloodshed.net去下载它的最新版本。它只不过是DELPHI编写的窗口环境(就连作者本人都觉得这是个讽刺),本质是起编译作用的是GCC。
2、听说Microsoft Vistual C++也能胜任C语言编程,为什么不用它?
如果你要编写WINDOWS的软件,并且有银子,那就用吧。如果你和我一样讨厌WINDOWS的东西,暂且用DEV C++,将来可以用GCC。我悄悄的告诉你,微软的程序员在研发Microsoft Vistual C++过程中,用的也是类似于GCC命令行下的东西。
3、安装Dev C++,语言选择中文后,就出现乱码,这是怎么回事?
怎么,您不会英文?请直接选择ENGLISH,这是学习编程最起码的要求。
以下内容来源于http://www.bloodshed.net/faq.html,我仅仅是翻译,您最好阅读原文。
1、当我编译并执行DOS程序时,DEV会最小化、恢复后什么也没显示。
当建立一个命令行程序时,请确认没有Project-Options中没有选择Do not create a console.
2、当运行DOS程序时,它会自动关闭,如何改善?
#include <stdlib.h>
     int main()
     {
     system(“PAUSE”);
      return 0;
     }/*请应用上述代码。小样,看你还自动关闭吗*/
3、在连接后,我得到了错误信息 “C:/DEV-C++/LIB//libmingw32.a(main.o)(.text+0x8e): undefined reference to `WinMain@16'
你可能没有定义main() 函数,否则,请重新编译。
4、当我打开Dev-C++ 时,提示“没有找到WININET.DLL”你可以到这里下载相应的缺失文件 http://www.rocketdownload.com/supfiles.htm
5、当我编译文件时,提示没有找到“<filename> ”
请检查编译器的options,看看里边文件夹设置是否正确。默认设置位置
  C:/DEV-C++/Bin/
       C:/DEV-C++/Include/
       C:/DEV-C++/Include/
       C:/DEV-C++/Lib/
6、生成的EXE文件很大,如何减小它的体积?
options->Linker->不选"Generate debug information".这样就不会生成DEBUG信息。(但我看效果一般:-)
7、在Windows NT下,以运行时提示“Failed to set data for”
Dev-C++ 在写注册表的时候,是需要管理员权限的,请以管理员身份运行Dev-C++ 吧
8、当我编译时提示ld: cannot open crt2. o: No such file or directory. 怎么办?
options-> 检查你的文件夹设置是否正确,请参考问题5
9、如何使用OpenGL库或其他?
所有的库文件在Lib文件夹里,它们类似*.a
Project options->-lopengl32 将它包含在你的project里。
10、当我编译的文件包含WINDOWS文件路径(例如:</Mydir/myfile.h>),提示'unrecognized escape sequence'
Mingw编译器只明白Unix的路径形式(/mydir/myfile.h),请将"/"改成"/"
11、有关于Dev-C++的软件包吗?
你可以去http://www.bloodshed.net/dev/下载
12、我使用Borland的专有函数时出现问题,例如clrscr()?
将conio.h包含到你的源文件里,将X:/Dev-C++/Lib/conio.o 添加到Further Object Files工程设置里。
新一篇: GCC for Win32开发环境介绍(2)
导读:
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。同时,从这一章开始,我将向各位读者做一个小小的要求。那就是,希望你们能够将自己对这篇文章感到的不足告诉我,我将随时修改以发表的内容,以适合广大读者的要求。如果各位有什么想法或者意见,疑惑。希望您能到 http://blog.csdn.net/visioncat 上提出。


上文回顾:

在上文中,我们了解的windows下的GCC编译器。这一章我们将来看IDE的介绍了。在此,我还要为各位表示抱歉,因为那么久才写出这篇文章。


GCC for Win32 开发环境介绍(2)
第二章 GCC的外衣——IDE环境
第一节 IDE for GCC概览

IDE,即Integrated development environment,也就是综合开发环境。对于习惯使用VC的windows程序员来说,在windows下,GCC的IDE也许就比较陌生了。所以,想通过这一章简单介绍一下GCC所使用IDE。
GCC的IDE是什么?
IDE,也就是 综合开发环境 。她是为了便于程序员开发,管理项目的软件。对于C/C++来说,她主要包括四个部分。代码编辑器,编译连接器,调试器和工具库。而GCC本身就包含了编译连接器,调试器和工具库。所以,严格的说,GCC的IDE主要功能就是一个代码编辑器,是用于编写代码的软件。
所以,从上面我们可以看到一个问题,那就是支持工具库的不是IDE,而是编译器。如果你使用不同的IDE开发项目,只要你使用的编译器是相同的,那么她就能支持相同的工具库。
Windows下的为GCC设计的IDE有那些?
许多GCC的IDE,毕竟不是商业化制作的,因此很多地方都有不足的地方。下面是我个人认为不错的几个IDE。
Dev-C++,这个IDE可谓是专门为GCC所设计的IDE。Visual-MinGW,一个模仿VC6.0界面的IDE。最后是最近最火的Code::Blocks,由于也是最近接触,所以也不是太了解,不过,给人的第一印象是,特别像VC.Net的界面。
总体来说,各个IDE都有其自身的特点。对于初学者,Dev-C++比较不错,因为各种工具库基本都有为Dev-C++设计的安装包。对于从VC转形到GCC的人来说,Visual-MinGW是一个不错的选择,因为据我所知,大家熟悉和喜爱的还是VC6.0居多,因此模仿VC的Visual-MinGW是一个不错的选择。对于打算用GCC开发项目的人来说,Code::Blocks的确会成为你的最爱,因为她的项目管理实在是太优秀了。其实,每个人都会从中找到适合自己的IDE。
本书的IDE
本书使用哪种IDE呢?其实,本书不是专门为哪种IDE所写的。因此,本书所写的都是针对GCC本身所写的。因此,本书中的IDE。其实就是windows下最不起眼的notepad。不过,为了书写便捷,我通常使用Emacs或者Notepad++来书写代码。Emacs是一个Unix环境下优秀的编辑软件,Notepad++是一个notepad增强版,个人感觉比较适合开发程序。本书会在每个例子程序后附带一个Makefile文件,通过这个文件各位就能够非常直接的了解到环境的配置方式,然后根据不同的IDE为你的程序添加不同的参数。

第二节 最专一的Dev-C++
简介
Dev-C++,全称Bloodshed Dev-C++,是由Bloodshed公司开发的一款C/C++的IDE。她所默认的编译器为MinGW,但是她能够支持Cygwin等其他任何GCC的移植版以及GCC本身。她是使用Delphi开发的,因此有些C/C++开发者觉得她的血统不纯。但是我个人认为,只要适合的,我们又何必在意她用什么开发呢?
获得与安装
Dev-C++,可以从她的官方网站 http://www.bloodshed.net 上获得。在官方网站的下载页上,你将会看到三个安装程序。下面我一一解释一下。
Dev-C++ with Mingw/GCC 这个是包含MinGW的安装包。安装这个包以后,你将拥有完整的一个IDE开发环境,自然包括编译器等。
Dev-C++ executable only 这个是只有IDE的安装程序,其中不包括任何编译器。所有,如果你没有安装GCC编译器的话,安装这个包以后你将会出现无法编译项目的问题。
Dev-C++ source code 这个是源代码包,当然其中只有Dev-C++的代码,没有任何GCC的代码。
通常偷懒的人选择 Dev-C++ with MinGW/GCC 这个包,这个也是我建议初学者安装的包。如果,你在上一章以后,已经安装了某个GCC的windows移植版,那么你可以选择Dev-C++ executable only这个包。如果你想研究一下Dev-C++的代码,并且对Delphi有所了解,那么Dev-C++ source code是你唯一的选择。
下面我对Dev-C++ executable only的安装方式进行说明。而Dev-C++ with MinGW/GCC的安装和她差不多,只是可以省去后面配置编译器的问题。
安装
首先,从官方网站下载Dev-C++。运行安装程序以后,您将看到如下的提示。
 

这个是让你选择安装时候所使用的语言这里,我们只能选择English,因为没有中文安装界面。
 

这个是许可证界面,选择 I Agree。感觉现在大家用盗版用多了,对于许可证都不关心了,可是我想作为一名开发者,应该对许可证的内容重视一下,毕竟你的软件也是要被人使用的。
 

这个是安装选项界面。其中,你可以选择你所要安装的内容和安装的一些选项,比如是否关联文件等。如果你下载的是 Dev-C++ executable only ,那么你将无法使用Mingw compiler system(binaries,headers and libraries) 这个选项,因为这个安装文件中没有包含这个。

 

这个界面是让你选择安装路径。你可以在这里选择你安装Dev-C++的路径。我这里假设你安装在$(DEV)下。
 

这个界面是询问你是否为windows上的所有用户安装Dev-C++。这里,我选择 否。如果你想让本地机上,每个用户都可以使用Dev-C++,那么你可以选择 是。
在安装程序结束后,默认会运行Dev-C++。你在首次运行时,会看到如下界面。

 

这个是选择你Dev-C++所使用的语言,界面图标和窗口风格。如图上选择,我们使用的语言是中文,使用New Look图标,并使用XP风格的窗口。
 

这个是询问你是否要Dev-C++提供函数补全功能,她将从头文件中读取函数头,然后为你补全。但是要消耗一定的CPU时间。如果,你的机器还可以的话,并且需要此功能那么你可以尝试一下。

至此,我们的Dev-C++算是安装成功了。如果,下载的是Dev-C++ with MinGW/GCC,那么后面的内容你可以不关心了。因为,你的IDE环境已经全都配好了。如果不是,那么您还需要自己安装编译器。

配置编译器
按照我第一章所介绍的,安装好某一个GCC移植版编译器,可以是MinGW,也可以是Cygwin。假设,您安装的目录为$(GCC),那么请将如下路径添加到系统变量 PATH 后。
$(GCC)/bin;
这样,你的Dev-C++就拥有了编译器了。当然,你也可以从Dev-C++的网站上下载MinGW全套的Dev包,然后用Dev-C++带的包管理程序安装MinGW。
添加新的工程类型
在平时,我们通常会建立自己的工程文件。但是,如果每次都要自己设置环境变量,编译器参数未免也太麻烦了。本处就要介绍,如何将自己定义的工程类型,添加到Dev-C++的新建工程选项里。就如下图所示,
 

Dev-C++的项目模板文件,保存在安装目录的Templates目录下。文件以template后缀结尾,你可以用记事本打开。下面我们一起来建立一个自己的项目。
在templates目录下新建一个名为MyProject.template的文本文档。内容如下:


[Template]
ver=1
Name=MyProject
Icon=0
Description=一个小小的测试
Catagory=HOME

[Unit0]

CName=main.c
C=MyProjectC.txt
[Unit1]
CName=myProject.h
C=MyProjectH.txt
[Project]
UnitCount=2
Type=1
IsCpp=0

Compiler=-DPASSWORD
Linker=-O2
Name=My Project
ProjectIon=0

[Template]

 
标签后的内容是对项目的介绍。

Ver

 
变量是Template文件的版本,这边默认是1不要更改。


Name

 
变量是项目的名称


Icon

 
变量是项目图标的路径,如果没有那么就写0


Description

 
变量是对这个模板的介绍。

Category

 
变量是这个项目属于哪种项目,这里我们自己建立了一个名为Home的类型。


[Unitx]

 
其中x为从0开始的任何整数,是定义项目中所包含的文件。

CName

 
变量是说明这个文件在项目保存时默认的文件名。(C语言时使用)


C

 
变量是Cname文件的源文件。(C语言时使用)


CppName

 
变量同Cname变量,只是在C++语言时使用。


Cpp

 
变量同C变量,是在C++语言时使用的。


[Project]

 
标签是对工程的总体介绍

UnitCount

 
变量是说明整个项目有多少文件,从1开始。
Type
 
变量是告诉IDE这个项目采用何种编译方式。0为windows窗口程序,1为控制台程序,2为静态连接库,3为动态连接库。
IsCpp

变量是说当前项目是否只能使用C++语言,0表示不是,1表示是。
Compiler

 
变量是编译器参数

Linker
 
变量是连接器参数

Name

 
变量是项目的名称

ProjectIcon

 
变量是项目编译以后,主程序的图标文件。

下面给出了MyProjectC.txt和MyProjectH.txt的内容。


//MyProjectC.txt

#include

#include

#include "myProject.h"

int main(int argc,char *argv[]){

printf("%s/n",S);

return(0);

}

 

//MyProjectH.txt

#ifdef PASSWORD

#define S "Hello World"

#else

#define S "NO PASSWORD"

#endif

 

 

重新启动Dev-C++,在你的项目中就存在了我们的项目。

最后的内容
相对来说Dev-C++的功能还是比较简单的。而且,界面也是属于中文的。所以,慢慢摸索你一定可以熟悉这个环境的。
文外音:
总的来说,Dev-C++是一个不错的IDE。很适合对GCC不是太了解的人使用。当然,这里我还是要表示抱歉,因为最近要忙于考试,所以迟迟没有推出这篇文章。现在经历了漫长的考试时间,我在放假的刚开始,就匆匆写出了一些,赶紧贴出来。这里我还是希望各位能提出一件和疑问。如果各位有什么想法或者意见,疑惑。希望您能到 http://blog.csdn.net/visioncat 上提出。谢谢。

 

你可能感兴趣的:(windows,gcc,ide,语言,compiler,编译器)