From: chris_mears AT softhome DOT net (Chris Mears) Newsgroups: comp.os.msdos.djgpp Subject: Re: What is it ? Organization: CHOAM Message-ID: <38154326.530771@news.bigpond.com> References: <381469db DOT 3205163 AT netnews DOT att DOT net> X-Newsreader: Forte Agent 1.5/32.452 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Lines: 108 Date: Mon, 25 Oct 1999 11:50:57 GMT NNTP-Posting-Host: 139.134.195.104 X-Trace: newsfeeds.bigpond.com 940852008 139.134.195.104 (Mon, 25 Oct 1999 21:46:48 EST) NNTP-Posting-Date: Mon, 25 Oct 1999 21:46:48 EST To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com On Mon, 25 Oct 1999 14:35:44 GMT, edwhn AT no_spam DOT worldnet DOT att DOT net wrote: >O.K. >I'm not really up on this. >Please inform...what is DJGPP and what does it stand for ? > >thanks... (From the FAQ) **Q*: What is DJGPP?* *A*: DJGPP is a compiler and a set of tools that let you produce 32-bit protected-mode programs which run on MS-DOS/MS-Windows machines. The originator and principal maintainer of DJGPP is DJ Delorie ; that's where the "DJ" in "DJGPP" comes from. However, anybody is welcome and encouraged to contribute. Programs compiled with DJGPP, and all development tools provided as part of DJGPP, look on the outside like normal DOS programs, and they rely on MS-DOS and BIOS for file I/O and other basic functions such as keyboard input, screen cursor position, etc. DJGPP programs use "DPMI" (the DOS Protected Mode Interface) to allow DOS/BIOS calls from protected mode. Therefore, any environment that can run DOS programs and provides DPMI services, will run DJGPP programs as well. Environments that are known to be compatible with DJGPP include MS-DOS, DR-DOS, NWDOS, FreeDOS, OpenDOS, Windows 3.X, 9X and NT, OS/2, and Linux DOSEmu. When DJGPP programs run on Windows 9X, they support long filenames. It is important to understand that all these environments will treat DJGPP programs as DOS programs which call DPMI services. DJGPP cannot by itself create Win16 or Win32 applications; however, you can use the RSXNT package together with DJGPP to achieve this. See writing Windows applications with DJGPP in Section 3.6. Programs compiled with DJGPP can access all the physical memory on your machine and support virtual memory. All this memory presents a flat address space with no segmentation (you can say goodbye to far and huge pointers and to memory models), and is only limited by the amount of virtual memory supported by the DPMI server in use. A typical DPMI server can provide at least 64MB of virtual memory (if you have enough free disk space). DJGPP is free: you don't have to pay anything to download and use it, even if you write commercial programs. DJGPP doesn't impose any restrictions on programs that you write and compile with it: you can make them commercial, shareware, freeware, or any other kind. (There are a few minor exceptions to that rule, see (un)restrictions on distribution of DJGPP apps in Application distribution.) The core of DJGPP is the MS-DOS port of the GNU C/C++ compiler, GCC, and auxiliary utilities, such as assembler, linker, librarian, Make, and a hypertext docs browser. The DJGPP C library was written specifically for DJGPP, mainly by DJ Delorie himself, with help from a small group of volunteers. DJGPP presents a set of tools which are remarkably ANSI- and Posix-compliant(1). GCC complies to ANSI/ISO C Standard; the DJGPP C library is ANSI- and Posix-compliant (however, a small number of Posix features, like the `fork' system call, are unimplemented); the C++ libraries also comply to the latest standards; and the GNU development tools used by DJGPP are all Posix-compliant. As a result, DJGPP tools provide a complete and coherent Posix layer on top of Microsoft operating systems, to the degree that even the infamous limitations of DOS and incompatibilities between DOS/Windows and Unix are almost completely concealed from users and developers. Here are some of the tasks that DJGPP is said to be good for: - learning C and C++ programming and teaching others to program in C/C++; - using Unix development tools on MS-DOS and MS-Windows; - writing games(2) and graphics programs; - setting up a common development environment for Unix and MS-DOS/MS-Windows; - writing portable DOS/Unix programs; - porting Unix programs to Microsoft operating systems. DJGPP is also used as back-end for programming languages other than C/C++. ADA, Pascal and Fortran compilers have been ported to MS-DOS based on DJGPP (GNU Pascal (`gpc') and GNU Fortran (`g77') are available from the DJGPP archives). Starting from v2.0, DJGPP programs do not need a separate extender program, only a DPMI server to run; DJGPP includes a free 32-bit DPMI server which allows for a 32-bit, 4 GByte flat address space and up to 512 MBytes of virtual memory. ---------- Footnotes ---------- (1) Posix is an international standard for a portable operating system. It specifies facilities of a compiler, its libraries, and the basic set of development tools. Posix was originally modeled on Unix systems, but is currently supported by most modern operating systems. (2) For example, the DOS version of the well-known game `Quake' by id Software was compiled with DJGPP.