该文翻译自djgpp version 2.03的。readme文件。
本文中包含获得、安装、使用DJGPP的信息,在寻求帮助之前请完整阅读该文档。
DJGPP是MS-DOS下使用C/C++开发32位保护模式软件的免费环境,DJGPP的官方网站为:
DJGPP的最新状态及其他信息(在线文档,FAQ、邮件文档)通过DJGPP的官方网站发布。有关DJGPP的使用与特点方面的讨论在DJGPP的新闻组(提交到comp.os.msdos.djgpp)和DJGPP的邮件列表(发信息到,通过订阅),有关DJGPP的最新版本信息,请登陆网站查看。
在下面网站上有一些获取、设置和使用DJGPP的文档:
发行
DJGPP的发行包,根据内容被分成了几个目录,每个目录下有一个00_index.txt的文件,对这个目录下的文件进行了说明。
以“b”结尾的zip压缩包中包含有二进制文件和在线文档,在写这篇文件时,文件目录清单如下:
FAQ 一个很小的文件,告诉你应该读的文档在什么地方(包括完整的FAQ)
v2/
unzip32 一个免费的解压缩程序(与pkunzip类似)
djdev203 DJGPP V2开发包和运行程序
djlsr203 DJGPP V2基本库源程序
djtst203 DJGPP V2测试程序(用于测试C库)
djcrx203 DJGPP V2跨平台编译器支持文件(来自djlsr/djdev)
djtzn203 DJGPP V2 TimeZone文件
djtzs203 DJGPP V2 TimeZone源程序
faq*b 各种格式(info, ascii, html......)的FAQ
faq*s FAQ文本格式源文件和生成各种格式FAQ的工具
frfaq* DJGPP FAQ法文版
v2apps/
各种用DJGPP编写的应用程序和用于DJGPP的应用程序,如:RHIDE和Tex
v2gnu/
各种用于DJGPP的FSF/GNU程序,如:gcc和binutils
v2tk/
各种与DJGPP一同使用的工具包,如:Allegro和libsocket
v2misc/
csdpmi* CWSDPMI,Charles Sandmann的免费的DPMI服务器程序和文档
mlp* ML的可执行packer,二进制文件(“djp”)
pmode* PMODE stub for djgpp v2
wmemu* WM的可选的用于DJGPP V2的387仿真文件
(其他与DJGPP一起使用的东西)
下载
要获得并运行DJGPP,下面是新用户必须了解的内容,更详细的信息请阅读DJGPP文档和FAQ,建议新用户完整阅读一下FAQ。
下载什么?
将指引你了解应该下载那些文件,一般情况下,仅下载安装发行包即可,大多数人不需要下载源程序。
要开发C程序,你需要djdev203.zip, gcc*b.zip和bnu*b.zip
如果要开发C++程序,你还需要gpp*b.zip
要阅读在线手册,需要下载txi*b.zip,并且运行“info”,如果你没有安装DPMI服务器,你还需要下载cwdpmi*b.zip。(windows, QDPMI, 386Max, NWDOS, OpenDOS, OS/2, win/NT和linux DOSEmu都提供DPMI服务,在这些环境下你不需要CWSDPMI)。详细信息请下载faq*b.zip(完整FAQ)并阅读第4节“下载什么和在哪里下载?”。
如果你使用的windows Me, 2000或xp是2001年12月以前发行的,可能不能正常运行DJGPP,所以请确认你的windows版本。
安装
1. 为DJGPP建立一个目录,如:c:\djgpp(注意:不能把DJGPP安装在一个目录下,如:c:\dev, d:\dev等,这将使DJGPP无法运行,详细内容请看FAQ)。目录名不能用长文件名,目录名中也不能有空格或其它特殊字符。
如果你以前安装了DJGPP V1.x版,最好是删除“bin/”目录下的内容或者将该目录移到其它目录下(不能是PATH设置的目录),并且删除老的v1.x版安装的其它内容(在用户提交的问题报告中,有一些就是由于无意中把DJGPP v2和老的v1.x混在一起引起的)。v1.x版中唯一可以留下的程序是go32.exe。
如果你要在Windows NT 4.0下运行,在安装之前你需要决定是使用长文件名还是使用DOS 8.3文件名,如果你打算使用长文件名,在解压缩之前你需要先下载并安装长文件名驻留程序(ntlfn*b.zip)。
2. 从你指定的目录中解压缩所有的文件,注意要保存原目录结构。例如:
pkunzip -d djdev203 或者 unzip32 djdev203
在Windows 9x, Windows/ME, Windows 2000和Windows XP下安装,应使用支持长文件名的解压缩程序,InfoZip的UnZip和PKUnZip,包括WinZip都支持长文件名,从DJGPP网站上得到的unzip32.exe也支持长文件名。确定是否支持长文件名的一种方法可以查找一个文件:include/sys/sysmacros.h,如果你看到的文件名是:sysmacro.h,说明你的解压缩程序不支持长文件名,你需要换一个解压缩程序。
必须保证解压缩时保存了原有的目录结构,如果你使用WinZip,你一定要检查选中“Use folder names”选项,如果使用pkunzip,必须要使用-d开关。
如果不打算在Windows/NT(版本4以下,不是W2K!)下使用长文件名的驻留程序,那么unzip程序将不支持长文件名,没有长文件名的驻留程序,DJGPP不能读取NT4下的长文件名。unzip32.exe可以避免这个问题,所以强烈推荐。
3. 解压缩所有的zip文件后,要将DJGPP的环境变量指到DJGPP安装目录下的DJGPP.ENV文件上,并把BIN子目录加入到PATH设置中。
设置方法要看你使用什么操作系统。
* Windows 98
- 点击“开始”
- 选择:程序->附件->系统工具->系统信息
- 像下面说明的那样修改autoexec.bat文件
* Windows ME
- 点击“开始”,选择“运行”,键入“msconfig.exe”,点击“确定”
- 点击“环境变量”
- 修改PATH系统变量加入DJGPP的bin子目录
- 增加一个新变量DJGPP并且把值设置成DJGPP.ENV的全路径名,参照下面解释
* Windows NT
- 右击“我的电脑”,选择“属性”
- 选择“环境变量”
- 编辑PATH系统变量增加DJGPP bin子目录
- 增加一个新变量DJGPP并且把值设置成DJGPP.ENV的全路径名,参照下面解释
* windows 2000和Windows XP
- 右击“我的电脑”,选择“属性”
- 选择“高级”并点击“环境变量”
- 编辑PATH系统变量增加DJGPP bin子目录
- 增加一个新变量DJGPP并且把值设置成DJGPP.ENV的全路径名,参照下面解释
* 对于其它系统(DOS, Windows 3.x和Windows 95),使用任意一种文本编辑软件,比如EDIT,编辑启动盘(通常是C)根目录下的autoexec.bat文件。
不改变autoexec.bat文件或者不改变全局环境变量,你也可以为DJGPP单独建立一个BAT文件,如果你的系统中有多个编译器,可能需要这种方法。
不管你用什么方法,假定你的DJGPP安装在C:\DJGPP下,则DJGPP和PATH这两个环境变量应该如下设置:
set DJGPP=C:\DJGPP\DJGPP.ENV
set PATH=C:\DJGPP\BIN;%PATH%
4. 重新启动。这将使你在autoexec.bat中加入的两行生效。(在Windows NT,Windows 2000和Windows XP下,设置立即生效,所以不需要重新启动,但要关闭并重新打开DOS窗口)
5. 不带参数运行go32-v2.exe程序
go32-v2
应该显示系统中DJGPP可用的DPMI存储器和DPMI交换空间,如下:
DPMI memory available: 8020 kb
DPMI swap space available: 39413 kb
实际数值会根据你系统中内存大小和空闲磁盘空间大小以及DPMI服务器不同而有所变化。如果两个数值的总和少于4MB,请阅读FAQ的第3.9节,“How to configure your system for DJGPP”。(尽管两数值之和大于4MB,为了使你的系统性能更高,也可以阅读这部分)