|
红色狂想
金牌会员
      龙哥DOS
积分 4289
发帖 1501
注册 2003-2-23 来自 河南省
状态 离线
|
『第 31 楼』:
使用 LLM 解释/回答一下
Wengier 站长,不好意思!你能不能依照先后顺序,再介绍一下上面哪个DJGPP,从下载到安装使用的全部过程呀?
小弟在这里谢谢了!
站长,不好意思!你能不能依照先后顺序,再介绍一下上面哪个DJGPP,从下载到安装使用的全部过程呀?小弟在这里谢谢了!
Sorry, Webmaster Wengier! Could you please introduce the entire process from downloading to installing and using the specific DJGPP mentioned above in chronological order? Thanks a lot, little brother here.
|

C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++
C++ ☆☆☆ 中国DOS联盟成员 ☆☆☆ C++
C++ ★★★ 爱提问的红色狂想 ★★★ C++
C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++ |
|
2003-5-10 00:00 |
|
|
Wengier
系统支持
             “新DOS时代”站长
积分 27736
发帖 10521
注册 2002-10-9
状态 离线
|
『第 32 楼』:
使用 LLM 解释/回答一下
这个嘛,就真的说来话长了呢。您不妨看看它的说明文件,里面有下载文件的说明的。
Well, this is really a long story. You might as well take a look at its instruction file, which has instructions on downloading files.
|

Wengier - 新DOS时代
欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/
E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)
 |
|
2003-5-10 00:00 |
|
|
红色狂想
金牌会员
      龙哥DOS
积分 4289
发帖 1501
注册 2003-2-23 来自 河南省
状态 离线
|
『第 33 楼』:
使用 LLM 解释/回答一下
我是害怕看英文的,哪个下载文件中肯定是英文,哎!!!
I'm afraid of reading English. Which downloaded file must be in English, alas!!!
|

C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++
C++ ☆☆☆ 中国DOS联盟成员 ☆☆☆ C++
C++ ★★★ 爱提问的红色狂想 ★★★ C++
C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++ |
|
2003-5-11 00:00 |
|
|
Wengier
系统支持
             “新DOS时代”站长
积分 27736
发帖 10521
注册 2002-10-9
状态 离线
|
『第 34 楼』:
使用 LLM 解释/回答一下
到时候DD会建个DOS的DJGPP专页的,里面肯定是中文的。
At that time, DD will build a DOS DJGPP special page, which must be in Chinese.
|

Wengier - 新DOS时代
欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/
E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)
 |
|
2003-5-13 00:00 |
|
|
zykdos
初级用户
 
积分 183
发帖 31
注册 2003-8-1
状态 离线
|
『第 35 楼』:
使用 LLM 解释/回答一下
找不到了,没有该目录了。站长能否自己开辟一个专区下载
Can't find it, that directory doesn't exist anymore. Can the webmaster create a special area for downloads by themselves?
|
|
2003-8-1 00:00 |
|
|
lemonhall
高级用户
    OS/2女孩
积分 639
发帖 183
注册 2003-6-14
状态 离线
|
『第 36 楼』:
使用 LLM 解释/回答一下
我觉得关于各种系统的安装问题,包括使用。都已经讲得很清楚了,
怎么还会有这么多疑问??????????????
=============================================
DJ Delorie
This is the README.1ST file for DJGPP Version 2.03
本文件是DJGPP V2.03的README.1ST文件的中文版
(This is the README.1ST file for DJGPP Version 2.03 in Chinese Edition)
本文件由LEMONHALL于2003年7月翻译并加目录
电子邮件是lemonhall@vip.sina.com
QQ号是313813. 欢迎来信指正错误。
Copyright@1989-1999 DJ Delorie All rights reserved
Chinese (in simplified character only) translation rights
arranged with DJ Delorie
目录
分发包
开始
需要下载些什么
安装
编译
开发环境
调试
在线文档
阅读在线文档,使用Info
与2.00版本的兼容性
与1.x版本的兼容性
版权
************************************************************************
* This file contains information on obtaining, installing, and using *
* 本文件包含怎样获得,安装,使用DJGPP的信息,请先仔细、完整地阅读后 *
* DJGPP. Please read it *completely* before asking for help. *
* 再提出问题。 *
************************************************************************
DJGPP是在MS-DOS下开发32位保护模式软件的无产权环境。DJGPP在万维网的主页
是:
http://www.delorie.com/djgpp/
软件状态和其它的一些信息(在线文档,FAQ,邮件列表)可以通过网页来
查看。关于DJGPP的讨论和一些关于它使用或特征的问题可以通过新闻组来参与
(发到comp.os.msdos.djgpp)还有DJGPP的邮件列表(将邮件发到
)。 同时,请关注位于网站上关于最新的各种各样的
DJGPP的开发包。
关于版本的信息标明在每个压缩包根目录下的*.ver文件中,内容标明在每个
压缩包根目录下的*.mft文件中。
当然,用户还可以在万维网上取得交互的(通常是更好的)关于安装和使用
djgpp的教程:
http://www.delorie.com/djgpp/doc/
分发包
****************
DJGPP分发包包含许多以内容划分的子目录,每个子目录下都有一个用来
描述目录下各个文件的文件叫做00_index.txt
以'b'结尾的压缩包,包含着已经编译好的二进制文件和在线文档。在写这个
说明档的一刻,这些包有:
FAQ 指导你应该阅读哪些其它文档的文件(本身也包括全面的FAQ
列表)
v2/
unzip32 免费的解压ZIP文件的工具(就像PKUNZIP)
djdev203 DJGPP V2的开发包和运行时需要的动态连接库
djlsr203 DJGPP V2的基本库的源代码
djtst203 DJGPP V2的测试用程序(仅用来测试C函数库)
djcrx203 DJGPP V2的DOS编译器支持文件包
djtzn203 DJGPP V2的时区文件
djtzs203 DJGPP V2的时区源代码
faq*b 全部的FAQ列表(使用各种格式书写,Info, ASCII, HTML...)
faq*s The Texinfo sources of the FAQ and tools to generate all the
different formats of the FAQ
frfaq* 法语的DJGPP FAQ
v2apps/
(各种协同或为DJGPP工作的程序的集合,像RHIDE,TeX)
v2gnu/
(与多种FSF/GNU程序工作的接口,如gcc和binutils)
v2tk/
(各种开发工具,开发库,如Allegro和libsocket)
v2misc/
csdpmi* CWSDPMI, Charles Sandmann的免费DPMI服务程序和说明文件
mlp* ML的可执行文件打包器
pmode* PMODE stub for djgpp V2
wmemu* WM的可选的387仿真器
(还有很多为DJGPP准备杂项工具)
开始
***************
下面的信息是针对最小需求用户,介绍怎样快速上手。当然,对于一个新用户,
我们希望并鼓励您通过积极地阅读FAQ列表来得到更多的详细信息。
需要下载的文件
----------------
到http://www.delorie.com/djgpp/zip-picker.html可以看到一个基于表单
的说明,其中详细列出了你需要下载的分发包。通常情况下,用户并不需要
源文件,所以如果只是使用DJGPP那么只下载二进制包就足够了。
编译C程序,需要下载djdev203.zip, gcc*b.zip,和bnu*b.zip 。如要使用
C++则还需要下载gpp*b.zip
如果需要查找在线手册,则需要下载txi*b.zip,并且运行工具"info"。如果你使用
的是纯16位DOS则需要安装DPMI服务程序,安装包是csdpmi*b.zip(Windows
,QDPMI,386Max, NWDOS, OpenDOS, OS/2, Win/NT 和 Linux下的 DOSEmu已经提供了
良好的DPMI服务, 所以在这些环境下安装并运行DJGPP并不需要CWSDPMI)详细
信息可以查阅FAQ列表的第四章(下载faq*b.zip,且要保证是完整FAQ列表)
--"Where and What to Downlaod(在哪里并下载些什么)"
如果你使用Windows ME, 2000或者 XP,在2001年11月前的镜像文件很可能不能
正常工作,所以如果你使用以上的操作系统来运行DJGPP,那么确保你下载的是
最新的分发包。
安装
------------
1. 创建一个DJGPP的工作目录,比如说C:\DJGPP. (警告:不要将DJGPP安装到诸如
C:\DEV, D:\DEV这样的目录或子目录下:那将导致它不能工作。详细原因见FAQ
列表 )不要在使用长目录名,或者任何特殊字符,如空格等。
如果你曾安装过1.x版本,最好是放弃使用它,或干脆删除掉它们。当然你也
可以仅仅把它们移动到其它目录下,但是确保移动的目标目录不在你的PATH
环境变量里出现。(据调查,某些BUG报告是因为混用两个版本的DJGPP造成
的,事实上1.x版本中唯一可以保留的文件只有'go32.exe')
如果你使用Windows NT 4.0来运行DJGPP,在安装前,你需要决定你是否想使用
长文件名还是仅仅使用DOS 8.3的文件名格式。如果需要长文件名支持,你需要
在解压DJGPP分发包前,下载并安装TSR驱动程序包(ntlfn*b.zip)。
(译者注:建议不要使用WinNT 4.0来运行DJGPP)
2. 解开所有的压缩包,同时保留目录结构。例如:
pkunzip -d djdev203
或
unzip32 djdev203
在Windows 9x, Windows/ME, Windows 2000 和 Windows XP下,使用支持长文件
名的解压工具unzip。最新的InfoZip的UnZip, PKUnzip和WinZip都能支持长文件
名。DJGPP站点上的解压工具unzip32.exe同样可以很好地支持长文件名。一个确保
你正确地解压出长文件名文件的方法是,查看include/sys/sysmacros.h:如果你
只看到sysmacro.h那么你的解压工具并不支持长文件名,这时你需要另找一个真正
支持它的解压工具。
你必须在解压时确保,正确地保留了目录结构。 如果你使用的是WinZip,检查
复选框"Use folder names". 如果你使用pkunzip,确信你使用了-d参数开关。
在Windows/NT(NT version 4或者更低的版本,不是WIN2000)下,如果不加挂
TSR的长文件名驱动程序LFN,则unzip并不会正确地解压出长文件名文件,同时
DJGPP也不能访问长文件名的文件。所以在这里,我们推荐使用unzip32.exe,
它将能正确解压。
3. 正确解压完成后,设置环境变量指向在DJGPP安装目录下的文件DJGPP.ENV
并将DJGPP的BIN目录加入PATH环境变量队列中去。
确切的设置环境变量的方法取决于你使用的操作系统:
* 对于 Windows 98 系统:
- 单击 开始;
- 选择 程序->设置->系统工具->系统信息;
- 单击菜单栏上的 工具, 并选择 "系统配置";
- 按照如下所说的编辑 AUTOEXEC.BAT
* 对于 Windows ME 系统:
- 单击 开始, 选择 运行, 输入 msconfig.exe;单击 确定
- 单击 "环境" 分页;
- 编辑 PATH 系统变量将DJGPP 的bin子目录加入;
- 加入一个新变量DJGPP,并将它的值设置为DJGPP.ENV的全路径名。
(下面还有更详细的介绍)
* 对于 Windows NT 系统:
- 右键单击 "我的电脑", 选择 "属性";
- 单击 环境 分页;
- 编辑 PATH 系统变量将DJGPP 的bin子目录加入;
(如果你不是管理员〈administrator〉,将bin目录加入当前用户的PATH
变量中)
- 加入一个新变量DJGPP,并将它的值设置为DJGPP.ENV的全路径名。
(下面还有更详细的介绍)
* 对于 Windows 2000 或 Windows XP 系统:
- 右键单击 "我的电脑", 选择 "属性";
- 单击 高级 分页;然后单击 "环境变量"按钮
- 编辑 PATH 系统变量将DJGPP 的bin子目录加入;
(如果你不是管理员〈administrator〉,将bin目录加入当前用户的PATH
变量中)
- 加入一个新变量DJGPP,并将它的值设置为DJGPP.ENV的全路径名。
(下面还有更详细的介绍)
* 对于其它系统(DOS, Windows 3.x 和 Windows 95):使用标准的EDIT程序
编辑启动盘根目录下的AUTOEXEC.BAT就可以了。
作为编辑AUTOEXEC或全局变量的替代方案,你可能希望创建一个
DJGPP的快捷方式。如果这样做的话,需要创建一个批处理文件(*.bat)
并包含以下介绍的命令行。这种做法适于安装了多个编译系统的计算机。
无论使用哪种方式,我们都假设你将DJGPP安装至C:\DJGPP目录下,这样
需要设置的两个环境变量的命令就如下所写:
set DJGPP=C:\DJGPP\DJGPP.ENV
set PATH=C:\DJGPP\BIN;%PATH%
4. 重新启动。 这样可以使两行命令启用(在 Windows NT ,Windows 2000 和
Windows XP 环境变量即时生效, 所以如果你使用以上系统便无需重启。但是
还是需要关闭正在运行的DOS窗口,然后再次运行一个新的DOS窗口)
5. 运行程序 go32-v2.exe,不加任何参数:
go32-v2
它将报告可供DJGPP使用的DPMI内存及虚拟空间(swap)的大小,就像这样:
DPMI memory available: 8020 Kb
DPMI swap space available: 39413 Kb
确切的数字取决于你安装了多少物理内存,有多少硬盘空间和DPMI服务
程序的能力。 但是,如果go32-v2报告的两项空间加起来少于4MB,请阅读
FAQ列表的3.9节。"How to configure your system for DJGPP"(怎样为
DJGPP配置你的系统)(如果想在已经大于8MB的情况下优化运行
,那么你同样也可以参阅这一部分FAQ)
编译
-----------
GCC是可以在DOS命令行下使用的基于命令行的编译器,可以使用如下命令来编译并
连接单个C程序源文件:
gcc myfile.c -o myfile.exe -lm
-lm参数要求编译器连接时使用lib/libm.a库(三角数学函)。(连接要求需要
显式声明。这意味着,如果你需要使用libm.a就必须在编译时,在命令行结尾
加上参数'-lm')
使用以下命令,从而将C或C++源码编译为OBJ文件:
gcc -c -Wall myfile.c (for C source)
或
gcc -c -Wall myfile.cc (for C++ source)
这样便编译出文件myfile.o。 参数开关`-Wall'打开了GCC编译器的警告
模式,这些警告信息对于新用户是十分有用的。(GCC也支持其它很多扩展名,
如.cpp。 关于这些可以参阅FAQ的8.4节 "How does GCC recognize the
source language")
使用如下命令行,将多个目标文件(OBJ)编译成为可执行文件:
gcc -o myprog.exe mymain.o mysub1.o mysub2.o
这样便编译出在DOS下的可执行文件`myprog.exe'
可以像这样连接C++程序:
gxx -o myprog.exe mymain.o mysub1.o mysub2.o
这时,程序会自动搜索C++的库,所以你完全不必像上面一样,担心需要设置
有关 C++ 库的参数。
你也可以将编译和连接这两个步骤一起执行:
gcc -Wall -o myprog.exe mymain.c mysub1.c mysub2.c
更多的关于GCC运行参数的资料,可以参阅在线文档。在阅读前,你必需确认
是否正确地安装了Texinfo在线文档阅读工具。(找到txi*b.zip,并阅读下面
有关在线文档的章节)
安装成功后,可以这样查找有关资料:
info gcc invoking
开发环境 (aka IDE)
---------------------------------
诚然,DJGPP并没有一个自己的集成环境。但这也意味着,你可以自由地
选择任何可以运行DOS程序,查看运行后输出的编辑器来作为IDE。许多
程序员都使用一个基于DOS的GNU Emacs与DJGPP协同工作。(可以在
v2gnu子目录中找到它)Emacs 是一个非常强大的编辑器(比如,它拥有内置
的Info阅读机能,这样你就可以不用退出编辑器去阅读DJGPP的在线文档
),当然其它很多免费的编辑器同样也可以胜任IDE的工作。这些准IDE
(包括Emacs)唯一不能胜任的工作就是,进行全屏幕的调试工作。
一个被称作RHIDE,专属DJGPP的IDE,不久前向所有DJGPP
用户发布了。它具有Turbo C风格的IDE界面,自动缩进,语句着色,高亮
显示语句,自动调用DJGPP编译器,自动生成Makefile,可以方便地阅读在线
文档。而且更激动人心的是,RHIDE还集成了如同GNU Debugger (gdb)一
般强大的高度集成的调试环境。因为RHIDE还是一个新生的软件,现在还
有众多BUG等待调试。所以如果您感兴趣的话,请访问:
http://www.tu-chemnitz.de/~sho/rho/rhide.html
来获取最新的资料。
(译者注:RIHID已经成为广泛使用的工具包了,建议大家都下载并掌握
它的使用)
调试
---------
如果需要调试程序,你必需在编译时加入参数开关`-g':
gcc -c -Wall -g mymain.c
gcc -c -Wall -g mysub1.c
gcc -c -Wall -g mysub2.c
当然也可以在连接时加入参数`-g':
gcc -g -o myprog.exe mymain.o mysub1.o mysub2.o
(注意:如果使用DJGPP v2.01版本时,并没有任何必要将程序输出成COFF
以便调试程序。(省略文件名中的`.exe'后缀名就可以达到这个目的) v2.01版
及其之后版本的调试器完全有能力直接读取可执行文件来进行调试,如同调试C
OFF格式文件一样。当然,如果你无法完全明了这是什么意思,也无需担心。)
然后在调试器下运行你的程序:
fsdb myprog.exe
或
gdb myprog.exe
再或
edebug32 myprog.exe
(如果你希望使用GDB调试程序,那么你需要下载gdb*b.zip)
FSDB有自己的帮助画面,可以按下F1调用帮助。 GDB的帮助文件只能使用
Info来阅读。Edebug32是一个很少使用的集成调试器,运行后按'h'来调用
帮助。
I think the installation issues regarding various systems, including usage, have been explained clearly. Why are there still so many questions?????????????????
=============================================
DJ Delorie
This is the README.1ST file for DJGPP Version 2.03
This is the Chinese version of the README.1ST file for DJGPP Version 2.03
(This is the README.1ST file for DJGPP Version 2.03 in Chinese Edition)
This file was translated and cataloged by LEMONHALL in July 2003
The email is lemonhall@vip.sina.com
The QQ number is 313813. Welcome to correct errors.
Copyright@1989-1999 DJ Delorie All rights reserved
Chinese (in simplified character only) translation rights
arranged with DJ Delorie
Table of Contents
Distribution Package
Getting Started
What to Download
Installation
Compilation
Development Environment
Debugging
Online Documentation
Reading Online Documentation, Using Info
Compatibility with Version 2.00
Compatibility with Version 1.x
Copyright
************************************************************************
* This file contains information on obtaining, installing, and using *
* This file contains information on obtaining, installing, and using DJGPP. Please read it *completely* before asking for help. *
* DJGPP. Please read it *completely* before asking for help. *
* again. *
************************************************************************
DJGPP is a royalty-free environment for developing 32-bit protected mode software under MS-DOS. The homepage of DJGPP on the World Wide Web is:
http://www.delorie.com/djgpp/
Software status and other information (online documentation, FAQs, mailing lists) can be viewed through the web page. Discussions about DJGPP and some questions about its use or features can be participated in through newsgroups (sent to comp.os.msdos.djgpp) and the DJGPP mailing list (send emails to ). Also, please pay attention to the various latest development packages of DJGPP on the website.
Information about the version is marked in the *.ver file in the root directory of each compressed package, and the content is marked in the *.mft file in the root directory of each compressed package.
Of course, users can also obtain interactive (usually better) tutorials on installing and using djgpp on the World Wide Web:
http://www.delorie.com/djgpp/doc/
Distribution Package
****************
The DJGPP distribution package contains many subdirectories divided by content, and there is a file called 00_index.txt in each subdirectory to describe the files in the directory.
Compressed packages ending with 'b' contain compiled binary files and online documentation. At the moment of writing this description, these packages are:
FAQ A file that guides you which other documents to read (itself also includes a comprehensive FAQ list)
v2/
unzip32 A free tool to extract ZIP files (like PKUNZIP)
djdev203 DJGPP V2 development package and dynamic link library required for runtime
djlsr203 DJGPP V2 basic library source code
djtst203 DJGPP V2 test program (only used to test the C library)
djcrx203 DJGPP V2 DOS compiler support file package
djtzn203 DJGPP V2 time zone file
djtzs203 DJGPP V2 time zone source code
faq*b All FAQ lists (written in various formats, Info, ASCII, HTML...)
faq*s The Texinfo sources of the FAQ and tools to generate all different formats of the FAQ
frfaq* French DJGPP FAQ
v2apps/
(Collection of various programs that cooperate or work for DJGPP, like RHIDE, TeX)
v2gnu/
(Interface to work with various FSF/GNU programs, such as gcc and binutils)
v2tk/
(Various development tools, development libraries, such as Allegro and libsocket)
v2misc/
csdpmi* CWSDPMI, Charles Sandmann's free DPMI service program and instructions
mlp* ML executable file packer
pmode* PMODE stub for djgpp V2
wmemu* Optional 387 emulator for WM
(There are many miscellaneous tools for DJGPP)
Getting Started
***************
The following information is for users with minimum requirements, introducing how to get started quickly. Of course, for a new user, we hope and encourage you to get more detailed information by actively reading the FAQ list.
What to Download
----------------
You can see a form-based description at http://www.delorie.com/djgpp/zip-picker.html, which lists in detail the distribution packages you need to download. Usually, users do not need source files, so if you just use DJGPP, it is enough to download the binary package.
To compile a C program, you need to download djdev203.zip, gcc*b.zip, and bnu*b.zip. If you need to use C++, you also need to download gpp*b.zip.
If you need to find online manuals, you need to download txi*b.zip and run the tool "info". If you use pure 16-bit DOS, you need to install a DPMI service program. The installation package is csdpmi*b.zip (Windows, QDPMI, 386Max, NWDOS, OpenDOS, OS/2, Win/NT and DOSEmu under Linux have provided good DPMI services, so installing and running DJGPP in these environments does not require CWSDPMI). For detailed information, please refer to Chapter 4 of the FAQ list (download faq*b.zip and make sure it is a complete FAQ list) - "Where and What to Downlaod (Where and What to Download)".
If you use Windows ME, 2000 or XP, the mirror files before November 2001 may not work normally. So if you use the above operating systems to run DJGPP, make sure you download the latest distribution package.
Installation
------------
1. Create a DJGPP working directory, for example, C:\DJGPP. (Warning: Do not install DJGPP in directories or subdirectories such as C:\DEV, D:\DEV: that will cause it not to work. For detailed reasons, see the FAQ list). Do not use long directory names or any special characters, such as spaces.
If you have installed version 1.x before, it is best to give up using it or simply delete them. Of course, you can also just move them to other directories, but make sure that the target directory of the move does not appear in your PATH environment variable. (According to investigations, some bug reports are caused by mixing two versions of DJGPP. In fact, the only file that can be retained in version 1.x is 'go32.exe').
If you use Windows NT 4.0 to run DJGPP, before installation, you need to decide whether you want to use long file names or only use the DOS 8.3 file name format. If long file name support is required, you need to download and install the TSR driver package (ntlfn*b.zip) before extracting the DJGPP distribution package.
(Translator's note: It is recommended not to use WinNT 4.0 to run DJGPP)
2. Unzip all compressed packages and keep the directory structure. For example:
pkunzip -d djdev203
or
unzip32 djdev203
In Windows 9x, Windows/ME, Windows 2000 and Windows XP, use the unzip tool that supports long file names. The latest InfoZip's UnZip, PKUnzip and WinZip can all support long file names. The unzip32.exe on the DJGPP site can also support long file names very well. A method to ensure that you correctly extract long file name files is to check include/sys/sysmacros.h: if you only see sysmacro.h, then your unzip tool does not support long file names, and you need to find another unzip tool that really supports it.
You must ensure that the directory structure is correctly retained when extracting. If you use WinZip, check the checkbox "Use folder names". If you use pkunzip, make sure you use the -d parameter switch.
In Windows/NT (NT version 4 or lower, not WIN2000), if the TSR long file name driver LFN is not mounted, unzip will not correctly extract long file name files, and DJGPP cannot access long file name files. So here, we recommend using unzip32.exe, which will extract correctly.
3. After correct extraction, set the environment variable to point to the DJGPP.ENV file in the DJGPP installation directory and add the BIN directory of DJGPP to the PATH environment variable queue.
The exact method to set the environment variable depends on the operating system you use:
* For Windows 98 system:
- Click Start;
- Select Program->Settings->System Tools->System Information;
- Click the tool on the menu bar and select "System Configuration";
- Edit AUTOEXEC.BAT as follows
* For Windows ME system:
- Click Start, select Run, enter msconfig.exe; click OK
- Click the "Environment" page;
- Edit the PATH system variable to add the bin subdirectory of DJGPP;
- Add a new variable DJGPP and set its value to the full path name of DJGPP.ENV.
(More detailed introduction follows)
* For Windows NT system:
- Right-click "My Computer" and select "Properties";
- Click the Environment page;
- Edit the PATH system variable to add the bin subdirectory of DJGPP;
(If you are not an administrator, add the bin directory to the current user's PATH variable)
- Add a new variable DJGPP and set its value to the full path name of DJGPP.ENV.
(More detailed introduction follows)
* For Windows 2000 or Windows XP system:
- Right-click "My Computer" and select "Properties";
- Click the Advanced page; then click the "Environment Variables" button
- Edit the PATH system variable to add the bin subdirectory of DJGPP;
(If you are not an administrator, add the bin directory to the current user's PATH variable)
- Add a new variable DJGPP and set its value to the full path name of DJGPP.ENV.
(More detailed introduction follows)
* For other systems (DOS, Windows 3.x and Windows 95): Use the standard EDIT program to edit AUTOEXEC.BAT in the root directory of the boot disk.
As an alternative to editing AUTOEXEC or global variables, you may want to create a shortcut for DJGPP. If you do this, you need to create a batch file (*.bat) and include the commands introduced below. This approach is suitable for computers with multiple compilation systems installed.
In any case, we assume that you have installed DJGPP in the C:\DJGPP directory, so the commands to set the two environment variables are as follows:
set DJGPP=C:\DJGPP\DJGPP.ENV
set PATH=C:\DJGPP\BIN;%PATH%
4. Restart. This can enable the two commands (in Windows NT, Windows 2000 and Windows XP, the environment variables take effect immediately, so if you use the above systems, you do not need to restart. But you still need to close the running DOS window and then run a new DOS window again)
5. Run the program go32-v2.exe without any parameters:
go32-v2
It will report the size of the DPMI memory and virtual space (swap) available for DJGPP, like this:
DPMI memory available: 8020 Kb
DPMI swap space available: 39413 Kb
The exact numbers depend on how much physical memory you have installed, how much hard disk space there is, and the capabilities of the DPMI service program. However, if the sum of the two spaces reported by go32-v2 is less than 4MB, please read section 3.9 of the FAQ list. "How to configure your system for DJGPP" (How to configure your system for DJGPP) (If you want to optimize the operation when it is already greater than 8MB, you can also refer to this part of the FAQ)
Compilation
-----------
GCC is a command-line-based compiler that can be used on the DOS command line. You can use the following command to compile and link a single C program source file:
gcc myfile.c -o myfile.exe -lm
The -lm parameter requires the compiler to link with the lib/libm.a library (trigonometric functions). (Linking requires explicit declaration. This means that if you need to use libm.a, you must add the parameter '-lm' at the end of the command line when compiling)
Use the following command to compile C or C++ source code into an OBJ file:
gcc -c -Wall myfile.c (for C source)
or
gcc -c -Wall myfile.cc (for C++ source)
This compiles the file myfile.o. The parameter switch `-Wall' turns on the warning mode of the GCC compiler, and these warning messages are very useful for new users. (GCC also supports many other extensions, such as .cpp. For these, please refer to section 8.4 of the FAQ "How does GCC recognize the source language")
Use the following command line to compile multiple object files (OBJ) into an executable file:
gcc -o myprog.exe mymain.o mysub1.o mysub2.o
This compiles the executable file `myprog.exe' under DOS.
You can link a C++ program like this:
gxx -o myprog.exe mymain.o mysub1.o mysub2.o
At this time, the program will automatically search for the C++ library, so you don't have to worry about setting parameters related to the C++ library like above.
You can also perform these two steps of compilation and linking together:
gcc -Wall -o myprog.exe mymain.c mysub1.c mysub2.c
For more information about GCC running parameters, please refer to the online documentation. Before reading, you must confirm whether the Texinfo online documentation reading tool is correctly installed. (Find txi*b.zip and read the section about online documentation below)
After successful installation, you can find relevant information like this:
info gcc invoking
Development Environment (aka IDE)
---------------------------------
Indeed, DJGPP does not have its own integrated environment. But this also means that you can freely choose any editor that can run DOS programs and view the output after running as an IDE. Many programmers use a DOS-based GNU Emacs to work with DJGPP. (You can find it in the v2gnu subdirectory) Emacs is a very powerful editor (for example, it has a built-in Info reading function, so you can read DJGPP's online documentation without exiting the editor), and many other free editors can also be used as IDEs. The only thing that these quasi-IDEs (including Emacs) cannot do is perform full-screen debugging.
An IDE called RHIDE, exclusive to DJGPP, was recently released to all DJGPP users. It has a Turbo C-style IDE interface, automatic indentation, statement coloring, statement highlighting, automatic call to DJGPP compiler, automatic generation of Makefile, and convenient reading of online documentation. And more excitingly, RHIDE also integrates a highly integrated debugging environment as powerful as the GNU Debugger (gdb). Because RHIDE is still a new software, there are still many bugs waiting to be debugged. So if you are interested, please visit:
http://www.tu-chemnitz.de/~sho/rho/rhide.html
to get the latest information.
(Translator's note: RIHID has become a widely used tool kit. It is recommended that everyone download and master its use)
Debugging
---------
If you need to debug the program, you must add the parameter switch `-g' when compiling:
gcc -c -Wall -g mymain.c
gcc -c -Wall -g mysub1.c
gcc -c -Wall -g mysub2.c
Of course, you can also add the parameter `-g' when linking:
gcc -g -o myprog.exe mymain.o mysub1.o mysub2.o
(Note: When using DJGPP v2.01 version, there is no need to output the program as COFF for debugging. (Omit the `.exe' suffix in the file name to achieve this purpose). The debuggers of version 2.01 and later versions are fully capable of directly reading executable files for debugging, just like debugging COFF format files. Of course, if you can't fully understand what this means, don't worry.)
Then run your program under the debugger:
fsdb myprog.exe
or
gdb myprog.exe
or
edebug32 myprog.exe
(If you want to use GDB to debug the program, then you need to download gdb*b.zip)
FSDB has its own help screen, and you can press F1 to call the help. The help file of GDB can only be read using Info. Edebug32 is a rarely used integrated debugger, and press 'h' to call the help after running.
|

REM 喜欢DOS,因为它的简单
REM 喜欢OS/2,因为它不再矫饰
REM 喜欢BASIC,因为它并不幼稚
REM 喜欢GNU,因为它杂乱无章 |
|
2003-8-1 00:00 |
|
|
lemonhall
高级用户
    OS/2女孩
积分 639
发帖 183
注册 2003-6-14
状态 离线
|
『第 37 楼』:
使用 LLM 解释/回答一下
在线文档
------------
大多数的在线文件都是以 GNU 项目工程使用的特殊的超文本格式储存的。每个包
中都有自己的Info格式文档,它们是后缀为 .iNN 的文件,解压至DJGPP的主安装
目录下的子目录info/中。要游览这些文档,需要下载 txi*b.zip,然后运行info.exe
如果你不知道怎样使用 Info,可以阅读下面的章节。
阅读在线文档,使用Info
----------------------------------------------------
下面的说明不能认为是一个使用Info的完整教程,只能作为初步的指导,所以
你需要查阅更多的文档,并留心专门的章节。
要运行Info以阅读在线手册,需要在info命令后加入手册名。例如:
- 输入 "info libc" 以便阅读有关于 C语言库函数的支持文档;
- 输入 "info libc alphabetical printf" 以便查阅函数'printf'的说明
- 输入 "info gcc" 来阅读GCC用户手册(the GNU C compiler);
- 输入 "info faq" 以查看DJGPP的FAQ列表;
- 输入 "info make" 以阅读Make 工具的用户手册;
- 输入 "info" 以便列出 手册的菜单清单.
按'q'退出Info。
一旦成功运行Info,你便可以使用上下键或者PgDn,PgUp来游览文件。
阅读完一屏后,按下‘SPACE’键来翻屏,通过这个功能键便可以游览手册的各
个章节。
菜单项前有标记"* Menu:"。每个以"*"号开头的行都称为菜单项。可以通过将
光标移至星号下并按下回车键来选择一个菜单项。
超文本联接的标记为"* Note"。如果需要参阅一个联接,如上所说。将光标移动
至星号下,并按下回车。如果需要返回,则可以键入小写的'l'键。(Last的意思)
如需要快速查询索引信息,可以键入'i'(意为Index),并随后键入欲查的主题,
最后以回车结尾。你可以只键入部分查找主题,然后按下Tab键来自动补足主题。
(前提是你输入了完整主题的一部分单词)。如果按下Tab键后,系统鸣叫了一声
或者文字开始闪烁,那这就意味着没有和你输入单词匹配的主题。删去你刚才输入
的单词(使用BackSpace键),并尝试键入其它与你欲查找的内容相关的单词。
然后,如果系统成功地补足了你键入的主题,而且碰巧那正是你需要的资料,那么
键入回车来查看。当然,找到你所想要的主题,这需要你多次的尝试,你需要的是,
耐心查找。
比如,你想要查找有关输出的错误信息"ld.exe: cannot open -lstdcxx: No such
file or directory"的确切意思。那么,启动Info系统,键入`i'并输入`c a n TAB'
(没有那些空格)。第一次键入的TAB键,只是将can变成Can,但这说明存在以Can
开头的索引项,于是再次键入TAB键,显示出很多可能的条目。不要激动,在输出的
以Can开头的索引列表中没有一个是你需要的。所以,只有删除单词Can,然后尝试
键入'-lstd'并按Tab补足,现在Info只列出一个条目,恰巧,那正是你所需要的资料
最后,键入回车键,仔细阅读FAQ有关那条错误信息的描述吧。
如果你希望手动查找索引中的项目,那么在最高级菜单项中查找包含有'Index'
字眼的条目,进入其中,然后就可以任意游览所有的索引了。
关于库的参考没有索引,所以只能在函数表中查找,或使用函数的类型来查询有关
内容。例如库函数'mktime'属于时间函数(Time Functions),'random'是属于
"随机数字函数"(Random Number Functions)等等。
(译者注:就是说可以查询Time Functions来查找mktime函数)
在一些情况下,查找索引并不会帮助你找到所需的资料(因为不可能列出所有的问题
)所以键入's'(意味 Search查询),键入你要查询的资料,而后键入回车。Info
将会进行全文搜索,并列出找到的第一个符合项,如要查找下一个匹配的项目可以
再次键入`s'和回车键。系统会再次搜索。
最后,如果你在哪个手册中查找你想要的资料,你可以使用"--apropos"参数开关
强迫Info遍历所有已经安装的手册,为你查找你所需要的资料。例如,你听说DJGPP
程序支持通配符,但是你不知道关于它的描述在哪部手册中。下面的命令便可以命令
Info系统列出在所有手册中有关通配符的章节("wildcards")
info --apropos=wildcard
当然,这会花一些时间,系统将会列出类似如下内容的列表:
"(kb)Features" -- Wildcards
"(kb)Changes in 2.01" -- wildcards
"(djgppfaq)Filename globbing" -- Filename wildcards expansion
引号中的是手册名(括号中)和章节名(如Features),如果要查看列出的章节,
可以键入如下命令:
info --node="(kb)Features"
Info有很多的命令和开关。如果要查看这些,键入"info info",仍需要更多信息
可以键入"info info-standalone"
与2.00版本的兼容性
------------------------
如果你是从V2.00版本升级的,那么便需要完全重新安装所有你需要使用的包。
因为2.01版本及之后版本处理长命令行(和在WIN95下处理长文件名),2.00版与新
版本混合使用会导致很多调试问题。 详情见FAQ列表的16.6节
与V1.x版本的兼容性
-----------------------
任何已编译的V1.x DJGPP可以很好地独立工作。 V1 版本的程序不能运行 V2的
程序(但,V2程序却可以运行V1的程序),所以不要尝试使用V1.x的Make程序
去运行v2.x的编译器。
--- 版权 ---
DJGPP V2 is Copyright (C) 1989-1999 by DJ Delorie. Some parts of
libc.a are Copyright (C) Regents of the University of California at
Berkeley.
GNU software (gcc, make, libg++, etc) is Copyright by the Free
Software Foundation.
DJGPP V2的版权允许它用做商业用途。 然而,如果你引用了非DJGPP的库文件
(比如 GNU的 libg++)那么,你就需要遵守他们的版权协议。参见FAQ列表的
19章来获取更多的信息。
在新闻组上曾讨论过一段时间,内容是关于部分C函数库的版权问题。要取得
这个版权就不得不提到加州的贝克利分校。这样,即便是在你的编译版本中也
不得不需要版权声明。值得庆兴的是,贝克利的版权在1999年的7月已经到期。
你再也不需要在你的分发包中,在意关于那部分的版权问题了。
在这里,列出这些与贝克利版权有关的函数和文件:
libc/ansi/time/ctime.c: asctime ctime gmtime localtime mktime
tzset tzsetwall
libc/compat/stdlib/random.c: initstate random setstate srandom
==============================================================================
Enjoy!
DJ Delorie
dj@delorie.com
http://www.delorie.com/
Online Documentation
------------
Most online files are stored in a special hypertext format used by the GNU project. Each package has its own Info format document, which is a file with the suffix .iNN. Unzip it into the subdirectory info/ of the main installation directory of DJGPP. To browse these documents, you need to download txi*b.zip and then run info.exe. If you don't know how to use Info, you can read the following sections.
Reading Online Documentation Using Info
----------------------------------------------------
The following instructions cannot be regarded as a complete tutorial for using Info, but only as a preliminary guide. So you need to consult more documents and pay attention to the special sections.
To run Info to read the online manual, you need to add the manual name after the info command. For example:
- Enter "info libc" to read the support documents about C language library functions;
- Enter "info libc alphabetical printf" to check the description of the function 'printf'
- Enter "info gcc" to read the GCC user manual (the GNU C compiler);
- Enter "info faq" to view the DJGPP FAQ list;
- Enter "info make" to read the user manual of the Make tool;
- Enter "info" to list the menu list of the manual.
Press 'q' to exit Info.
Once Info is successfully run, you can use the up and down arrows or PgDn, PgUp to browse the file.
After reading a screen, press the 'SPACE' key to turn the page. Through this function key, you can browse each chapter of the manual.
There is a mark "* Menu:" before the menu item. Each line starting with "*" is called a menu item. You can select a menu item by moving the cursor to under the asterisk and pressing the Enter key.
The mark of the hypertext link is "* Note". If you need to refer to a link, as mentioned above. Move the cursor to under the asterisk and press Enter. If you need to return, you can type the lowercase 'l' key. (Meaning Last)
If you need to quickly query the index information, you can type 'i' (meaning Index), and then type the topic you want to query, and finally end with Enter. You can only type part of the topic to be found, and then press the Tab key to automatically complete the topic. (Provided that you have entered part of the word of the complete topic). If after pressing the Tab key, the system beeps or the text starts to flash, it means that there is no topic matching the word you entered. Delete the word you just entered (use the BackSpace key) and try to type other words related to the content you want to find. Then, if the system successfully completes the topic you typed and it happens to be the information you need, then type Enter to view. Of course, it takes multiple attempts to find the topic you want, and you need to be patient in searching.
For example, you want to find the exact meaning of the error message "ld.exe: cannot open -lstdcxx: No such file or directory" for output. Then, start the Info system, type `i' and enter `c a n TAB' (without those spaces). The first TAB key typed only changes can to Can, but this indicates that there are index items starting with Can, so type the TAB key again, and many possible entries are displayed. Don't get excited, there is no one you need in the index list starting with Can. So, only delete the word Can, then try to type '-lstd' and press Tab to complete, now Info only lists one entry, and coincidentally, that is the information you need. Finally, type Enter and carefully read the description of that error message in the FAQ.
If you want to manually find items in the index, then find the entry containing the word 'Index' in the top-level menu item, enter it, and then you can browse all the indexes arbitrarily.
There is no index for library references, so you can only find in the function table or use the type of the function to query relevant content. For example, the library function'mktime' belongs to the time function (Time Functions), 'random' belongs to "Random Number Functions", etc.
(Translator's note: That is, you can query Time Functions to find the mktime function)
In some cases, searching the index will not help you find the information you need (because not all problems can be listed), so type's' (meaning Search query), type the information you want to query, and then type Enter. Info will perform a full-text search and list the first matching item. If you want to find the next matching item, you can type's' and Enter again. The system will search again.
Finally, if you are looking for the information you want in which manual, you can use the "--apropos" parameter switch to force Info to traverse all installed manuals to find the information you need for you. For example, you heard that the DJGPP program supports wildcards, but you don't know in which manual the description is. The following command can command the Info system to list the chapters about wildcards ("wildcards") in all manuals.
info --apropos=wildcard
Of course, this will take some time, and the system will list a list similar to the following:
"(kb)Features" -- Wildcards
"(kb)Changes in 2.01" -- wildcards
"(djgppfaq)Filename globbing" -- Filename wildcards expansion
The manual name (in parentheses) and chapter name (such as Features) are in quotes. If you want to view the listed chapter, you can type the following command:
info --node="(kb)Features"
Info has many commands and switches. If you want to view these, type "info info", and if you need more information, you can type "info info-standalone"
Compatibility with Version 2.00
------------------------
If you are upgrading from version V2.00, then you need to completely reinstall all the packages you need to use. Because version 2.01 and later versions handle long command lines (and handle long filenames under WIN95), mixing version 2.00 with the new version will cause many debugging problems. For details, see section 16.6 of the FAQ list
Compatibility with Version V1.x
-----------------------
Any compiled V1.x DJGPP can work well independently. Programs of V1 version cannot run programs of V2 (but programs of V2 can run programs of V1), so do not try to use the Make program of V1.x to run the compiler of v2.x.
--- Copyright ---
DJGPP V2 is Copyright (C) 1989-1999 by DJ Delorie. Some parts of
libc.a are Copyright (C) Regents of the University of California at
Berkeley.
GNU software (gcc, make, libg++, etc) is Copyright by the Free
Software Foundation.
The copyright of DJGPP V2 allows it to be used for commercial purposes. However, if you reference library files that are not DJGPP (such as GNU's libg++), then you need to comply with their copyright agreements. For more information, see chapter 19 of the FAQ list.
There was a period of discussion on the newsgroup about the copyright issues of some C function libraries. To obtain this copyright, mention must be made of the University of California at Berkeley. Thus, even in your compiled version, you have to include the copyright notice. Fortunately, the copyright of Berkeley expired in July 1999. You no longer need to care about that part of the copyright in your distributed package.
Here, list the functions and files related to the Berkeley copyright:
libc/ansi/time/ctime.c: asctime ctime gmtime localtime mktime
tzset tzsetwall
libc/compat/stdlib/random.c: initstate random setstate srandom
==============================================================================
Enjoy!
DJ Delorie
dj@delorie.com
http://www.delorie.com/
|

REM 喜欢DOS,因为它的简单
REM 喜欢OS/2,因为它不再矫饰
REM 喜欢BASIC,因为它并不幼稚
REM 喜欢GNU,因为它杂乱无章 |
|
2003-8-1 00:00 |
|
|
lemonhall
高级用户
    OS/2女孩
积分 639
发帖 183
注册 2003-6-14
状态 离线
|
『第 38 楼』:
使用 LLM 解释/回答一下
最需要问的就是红色狂想,我自己按照我翻的文章,认真地从JAPAN的FTP服务器把
安装包下了下来。 认真地测试了我的翻译内容,还特地装了NT4,2000来测试文件
中提到的问题。
可是,你怎么就不认认真真地读读文章呢??? 那可是DJGPP的创史者写的README
啊!!!!!他的文章的开头还特地地提到
This file contains information on obtaining, installing, and using
DJGPP. Please read it *completely* before asking for help.
这可不是白写的啊!!!!!!!!看到你提的很多问题,我都快晕过去了,你仔细
地看过这篇README么?
实在不行,还有Wengier啊,就算我翻的地方有不对的地方,你把英文原文给他看,不
就好了?
Wengier更让我郁闷了,回答了问题却引出新的问题,让人更加迷惑。回答问题时不能
以为大家都懂啊!要把所有提问题的人都当作初级用户啊!!!!
还有,Wengier根本没有更新DJGPP的联结。 这真的很难么??SIMNET的哪个联结更是
错误的,只有在它的镜像上才能找到老的DJGPP联结。
=====================================================
The most important thing to ask about is Red Rhapsody. I carefully downloaded the installation package from the FTP server of JAPAN according to the article I translated. I carefully tested my translation content and specially installed NT4 and 2000 to test the problems mentioned in the file.
But why don't you read the article carefully??? That's the README written by the founder of DJGPP!!! At the beginning of his article, he specially mentioned
This file contains information on obtaining, installing, and using
DJGPP. Please read it *completely* before asking for help.
This is not written in vain!!!!!!! Seeing many of the questions you raised, I'm almost dizzy. Have you carefully read this README?
If it really doesn't work, there's also Wengier. Even if there are incorrect places in my translation, you can just show him the original English text, right?
Wengier makes me even more depressed. Answering questions has led to new problems, making people even more confused. When answering questions, you can't assume that everyone understands! You should treat all people who ask questions as novice users!!!
Also, Wengier has not updated the DJGPP links at all. Is this really that difficult?? The link of SIMNET is even wrong. Only on its mirror can you find the old DJGPP links.
=====================================================
|

REM 喜欢DOS,因为它的简单
REM 喜欢OS/2,因为它不再矫饰
REM 喜欢BASIC,因为它并不幼稚
REM 喜欢GNU,因为它杂乱无章 |
|
2003-8-1 00:00 |
|
|
lemonhall
高级用户
    OS/2女孩
积分 639
发帖 183
注册 2003-6-14
状态 离线
|
『第 39 楼』:
使用 LLM 解释/回答一下
最后,补充到,下载目录里的那个说明文件,就是上边我贴出来的内容。
翻译的版权,我问过DJGPP的作者了,中文翻译版权是作者自己的。
文章里面的网址经过测试,其中
关于RIDE的连接
http://www.tu-chemnitz.de/~sho/rho/rhide.html
是错误的。
邮件列表
comp.os.msdos.djgpp
是错误的
以外,其他连接都可用。
Finally, to supplement, the instruction file in the download directory is the content I posted above.
Regarding the translation copyright, I asked the author of DJGPP, and the Chinese translation copyright belongs to the author himself.
The URLs in the article have been tested, among which
The link about RIDE
http://www.tu-chemnitz.de/~sho/rho/rhide.html
is incorrect.
The mailing list
comp.os.msdos.djgpp
is incorrect.
Other links are available except the above.
|

REM 喜欢DOS,因为它的简单
REM 喜欢OS/2,因为它不再矫饰
REM 喜欢BASIC,因为它并不幼稚
REM 喜欢GNU,因为它杂乱无章 |
|
2003-8-1 00:00 |
|
|
lemonhall
高级用户
    OS/2女孩
积分 639
发帖 183
注册 2003-6-14
状态 离线
|
『第 40 楼』:
使用 LLM 解释/回答一下
因为看了很多不应该有的问题,言语过激。多有冒犯,还请原谅。
最后,是一个真诚的建议。
学习C,不需要在DJGPP下学习。开发工作更不需要在DJGPP下进行。
因为非专业人员,开发DOS的程序,根本不需要突破那640K,因为
往往就用不了超过200K的内存。
除非你开发 图形,声音,游戏,大文本编辑,解码程序时,或者需要
(并且是必须,不得不)引用DJGPP的 库/模版(根本不是C的内容)
Because I saw a lot of inappropriate questions and spoke in an over-the-top manner. I have caused much offense, please forgive me.
Finally, it is a sincere suggestion.
Learning C does not need to be done under DJGPP. Development work does not need to be carried out under DJGPP either. Because for non-professional people developing DOS programs, there is no need to break through that 640K at all, because usually they won't use more than 200K of memory.
Unless you are developing graphics, sound, games, large text editors, decoding programs, or need (and it is necessary, have to) refer to the libraries/templates of DJGPP (which are not at all the content of C)
|

REM 喜欢DOS,因为它的简单
REM 喜欢OS/2,因为它不再矫饰
REM 喜欢BASIC,因为它并不幼稚
REM 喜欢GNU,因为它杂乱无章 |
|
2003-8-1 00:00 |
|
|
lemonhall
高级用户
    OS/2女孩
积分 639
发帖 183
注册 2003-6-14
状态 离线
|
『第 41 楼』:
使用 LLM 解释/回答一下
转贴的文章,写得很好。 作者风云,可谓是DJGPP的忠实用户了。
他使用DJGPP+ALLEGRO开发的驱动底层,简化了DOS下开发游戏
时,调用DIRETX的繁复过程。
虽然,没有下载过这个库。但是,这个应用本身不就说明么DJGPP
的应用范围么???
我在这里,不是反对使用DJGPP,或者学习DJGPP。而是大大的鼓励。
要不然,我也不会辛苦地翻译那些 初级的README文件了。
作为一种选择,使用DJGPP是有代价的。
首先,是资料的匮乏。现在中文资料只有关于ALLEGRO的是中文的,
真正可用的中文资料,是没有的。(不像很多其他DOS下的编译器)
其次,使用CWSDPMI的DPMI服务,是有代价的。DJGPP不是商业包
,CWSDPMI最初也不是专门为DJGPP开发的。它的版本号*******
注意,它的版本号,是小于1的。意味着,它的不稳定性。
(例子也很简单,我请PERL4。036的爱好者测试使用CWSDPMI服务的
PERL编译器,在小内存计算机上,很容易造成系统崩溃,却不像DOS4GW,
它慢,它大,但它的版本号大于1,更稳定一些。)
Reposted article, very well written. The author Feng Yun can be said to be a loyal user of DJGPP.
He used DJGPP + ALLEGRO to develop the underlying driver, simplifying the complicated process of calling DIRETX when developing games under DOS.
Although I have not downloaded this library. But doesn't this application itself show the scope of application of DJGPP???
Here, I am not opposing the use of DJGPP or learning DJGPP. On the contrary, I strongly encourage it.
Otherwise, I wouldn't have worked hard to translate those introductory README files.
As an option, using DJGPP has a cost.
First, there is a lack of information. Now the only Chinese information about ALLEGRO is in Chinese, and there are really no usable Chinese materials. (Unlike many other compilers under DOS)
Second, there is a cost to using the DPMI service of CWSDPMI. DJGPP is not a commercial package, and CWSDPMI was not originally developed specifically for DJGPP. Its version number *******
Note that its version number is less than 1. It means its instability.
(The example is also very simple. I asked enthusiasts of PERL4.036 to test the PERL compiler using the CWSDPMI service. On a computer with small memory, it is easy to cause system crashes, but unlike DOS4GW,
it is slow, it is large, but its version number is greater than 1, which is more stable.)
|

REM 喜欢DOS,因为它的简单
REM 喜欢OS/2,因为它不再矫饰
REM 喜欢BASIC,因为它并不幼稚
REM 喜欢GNU,因为它杂乱无章 |
|
2003-8-1 00:00 |
|
|
lemonhall
高级用户
    OS/2女孩
积分 639
发帖 183
注册 2003-6-14
状态 离线
|
『第 42 楼』:
使用 LLM 解释/回答一下
最后,做一个真诚的提议:
如果对DJGPP真的这么感兴趣的话,开一个项目好么?
先翻译,再写文章(关于使用经验的)
如果单纯地开一个网站,转一堆别人的东西。那并没有
太大的意义。因为DJGPP的发展太快了,很多文章,库
软件,源代码,都不能用了。
DD需要合作的话,说一声。
如果看耐心地看完了我说的这一堆废话,感谢。感谢。
Finally, make a sincere proposal:
If you are really so interested in DJGPP, can you start a project?
First translate, then write an article (about usage experience)
If you simply start a website and copy a bunch of others' things. That doesn't make much sense. Because DJGPP develops too fast, many articles, library software, source codes, etc., are no longer usable.
If DD needs cooperation, let me know.
If you have read all this nonsense I said patiently, thank you. Thank you.
|

REM 喜欢DOS,因为它的简单
REM 喜欢OS/2,因为它不再矫饰
REM 喜欢BASIC,因为它并不幼稚
REM 喜欢GNU,因为它杂乱无章 |
|
2003-8-1 00:00 |
|
|
ATLaS
初级用户
 
积分 169
发帖 29
注册 2003-7-9
状态 离线
|
『第 43 楼』:
使用 LLM 解释/回答一下
cwsdpmi的版本号小于1??我怎么记得跟着v2.03的是v5?
我认为cwsdpmi更好的原因是它能提供完整的dpmi spec 0.9支持,在protected mode下的编程要比dos4gw简单些,至少中断我可以用完整的irq0~irq15而不用写real mode和protected mode下的两个isr。
djgpp我也是才用不久,之前一直用watcom c,感觉djgpp还是很不错的,它官方主页上的文档是很齐全的,有两个文档必备:user guide和window hlp格式的文档集合。读完了基本上就能搞定绝大多数问题。学习编程,一定要学会读英文文档,不然会非常被动。
The version number of cwsdpmi is less than 1?? How come I remember that following v2.03 is v5? The reason I think cwsdpmi is better is that it can provide full support for dpmi spec 0.9. Programming in protected mode is simpler than dos4gw. At least I can use the complete irq0~irq15 for interrupts without writing two ISRs for real mode and protected mode.
I've only been using djgpp for a short time. Before that, I always used watcom c. I feel that djgpp is quite good. The documentation on its official homepage is very complete. There are two essential documents: the user guide and the document collection in window hlp format. After reading them, you can basically solve most problems. To learn programming, you must learn to read English documents, otherwise you will be very passive.
|
|
2003-8-1 00:00 |
|
|
lemonhall
高级用户
    OS/2女孩
积分 639
发帖 183
注册 2003-6-14
状态 离线
|
『第 44 楼』:
使用 LLM 解释/回答一下
2.03是DJGPP的版本号,CWSDPMI对dpmi spec 0.9的支持也并不完全。但我承认,它比
DOS4GW好,因为它在发展。而后者已经没有进一步的发展了。v5可不是主版本号啊!
而且,最让人郁闷的是,CWSDPMI在错误输出上,少得可怜。这和它的小巧也有关系。
2.03 is the version number of DJGPP, and CWSDPMI's support for dpmi spec 0.9 is not complete either. But I admit that it is better than DOS4GW because it is evolving. The latter has no further development. v5 is not the major version number! Moreover, the most frustrating thing is that CWSDPMI has very few error outputs. This is also related to its compactness.
|

REM 喜欢DOS,因为它的简单
REM 喜欢OS/2,因为它不再矫饰
REM 喜欢BASIC,因为它并不幼稚
REM 喜欢GNU,因为它杂乱无章 |
|
2003-8-2 00:00 |
|
|
lemonhall
高级用户
    OS/2女孩
积分 639
发帖 183
注册 2003-6-14
状态 离线
|
『第 45 楼』:
使用 LLM 解释/回答一下
现在把GNU项目关于版本编号的规则介绍一下。
PERL,DJGPP,LINUX,等著名的GNU软件都是
按照这种命名规则的(其实PERL是从PERL5以后
真正开始应用GNU命名规则的)
GNU的命名规则是:以所有字母都小写的主名称
作为前缀,后跟一个破折号,再跟一个版本号,
扩展说明,以及其他后缀。
由此可见,DJGPP的命名方法也不是完全GNU化的
存在着2。03这种版本号。(和PERL1。303一样的
命名方法)
Now let's introduce the version numbering rules of the GNU project.
Famous GNU software such as PERL, DJGPP, LINUX, etc., all follow this naming rule (in fact, PERL started to truly apply the GNU naming rule after PERL5).
The GNU naming rule is: use the main name in all lowercase as the prefix, followed by a hyphen, then a version number, extension descriptions, and other suffixes.
It can be seen that the naming method of DJGPP is not completely GNU - there is a version number like 2.03. (The same naming method as PERL1.303)
|

REM 喜欢DOS,因为它的简单
REM 喜欢OS/2,因为它不再矫饰
REM 喜欢BASIC,因为它并不幼稚
REM 喜欢GNU,因为它杂乱无章 |
|
2003-8-2 00:00 |
|
|