China DOS Union

-- Unite DOS · Advance DOS · Grow DOS --

Union site: www.cn-dos.net Forum site: www.cn-dos.net/forum
DOS stands for freedom, openness and progress. Let us work hard, learn from the openness and GNU spirit of FreeDOS and Linux, and together build and grow a free GNU GPL world!

中国DOS联盟论坛
The time now is 2026-07-31 20:38
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » [Repost] DJGPP - A 32-bit C programming environment DigestI View 19,234 Replies 52
Floor 31 Posted 2003-05-10 00:00 ·  中国 河南 驻马店 联通
金牌会员
★★★★
龙哥DOS
Credits 4,289
Posts 1,501
Joined 2003-02-23 00:00
23-year member
UID 983
Gender Male
From 河南省
Status Offline
站长,不好意思!你能不能依照先后顺序,再介绍一下上面哪个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++
Floor 32 Posted 2003-05-10 00:00 ·  美国 肯塔基州 费耶特县 列克星敦 Charter_Communications
系统支持
★★★★★★
“新DOS时代”站长
Credits 27,736
Posts 10,521
Joined 2002-10-09 12:00
23-year member
UID 9
Status Offline
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和雨露,谢谢!)

Floor 33 Posted 2003-05-11 00:00 ·  中国 河南 驻马店 联通
金牌会员
★★★★
龙哥DOS
Credits 4,289
Posts 1,501
Joined 2003-02-23 00:00
23-year member
UID 983
Gender Male
From 河南省
Status Offline
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++
Floor 34 Posted 2003-05-13 00:00 ·  美国 肯塔基州 费耶特县 列克星敦 Charter_Communications
系统支持
★★★★★★
“新DOS时代”站长
Credits 27,736
Posts 10,521
Joined 2002-10-09 12:00
23-year member
UID 9
Status Offline
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和雨露,谢谢!)

Floor 35 Posted 2003-08-01 00:00 ·  中国 广东 深圳 鹏博士宽带
初级用户
Credits 183
Posts 31
Joined 2003-08-01 00:00
23-year member
UID 7862
Gender Male
Status Offline
Can't find it, that directory doesn't exist anymore. Can the webmaster create a special area for downloads by themselves?
Floor 36 Posted 2003-08-01 00:00 ·  中国 陕西 西安 教育网
高级用户
★★
OS/2女孩
Credits 639
Posts 183
Joined 2003-06-14 00:00
23-year member
UID 5148
Gender Female
Status Offline
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,因为它杂乱无章
Floor 37 Posted 2003-08-01 00:00 ·  中国 陕西 西安 教育网
高级用户
★★
OS/2女孩
Credits 639
Posts 183
Joined 2003-06-14 00:00
23-year member
UID 5148
Gender Female
Status Offline
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,因为它杂乱无章
Floor 38 Posted 2003-08-01 00:00 ·  中国 陕西 西安 教育网
高级用户
★★
OS/2女孩
Credits 639
Posts 183
Joined 2003-06-14 00:00
23-year member
UID 5148
Gender Female
Status Offline
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,因为它杂乱无章
Floor 39 Posted 2003-08-01 00:00 ·  中国 陕西 西安 教育网
高级用户
★★
OS/2女孩
Credits 639
Posts 183
Joined 2003-06-14 00:00
23-year member
UID 5148
Gender Female
Status Offline
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,因为它杂乱无章
Floor 40 Posted 2003-08-01 00:00 ·  中国 陕西 西安 教育网
高级用户
★★
OS/2女孩
Credits 639
Posts 183
Joined 2003-06-14 00:00
23-year member
UID 5148
Gender Female
Status Offline
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,因为它杂乱无章
Floor 41 Posted 2003-08-01 00:00 ·  中国 陕西 西安 教育网
高级用户
★★
OS/2女孩
Credits 639
Posts 183
Joined 2003-06-14 00:00
23-year member
UID 5148
Gender Female
Status Offline
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,因为它杂乱无章
Floor 42 Posted 2003-08-01 00:00 ·  中国 陕西 西安 教育网
高级用户
★★
OS/2女孩
Credits 639
Posts 183
Joined 2003-06-14 00:00
23-year member
UID 5148
Gender Female
Status Offline
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,因为它杂乱无章
Floor 43 Posted 2003-08-01 00:00 ·  新加坡 星和视界(StarHub)宽带
初级用户
Credits 169
Posts 29
Joined 2003-07-09 00:00
23-year member
UID 6654
Gender Male
Status Offline
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.
Floor 44 Posted 2003-08-02 00:00 ·  中国 陕西 西安 教育网
高级用户
★★
OS/2女孩
Credits 639
Posts 183
Joined 2003-06-14 00:00
23-year member
UID 5148
Gender Female
Status Offline
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,因为它杂乱无章
Floor 45 Posted 2003-08-02 00:00 ·  中国 陕西 西安 教育网
高级用户
★★
OS/2女孩
Credits 639
Posts 183
Joined 2003-06-14 00:00
23-year member
UID 5148
Gender Female
Status Offline
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,因为它杂乱无章
Forum Jump: