Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 Overview  





2 Compatibility  





3 See also  





4 References  





5 External links  














DJGPP






Čeština
Deutsch
Español
Français

Italiano
Norsk bokmål
Polski
Русский

 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


DJGPP
Developer(s)DJ Delorie
Stable release

2.05 / November 3, 2015; 8 years ago (2015-11-03)[1]

Repository
Operating systemDOS and 32-bit Windows
TypeCompiler
LicenseGNU GPL
Websitewww.delorie.com/djgpp

DJ's GNU Programming Platform (DJGPP)[2] is a software development suite for Intel 80386-level and above, IBM PC compatibles which supports DOS operating systems. It is guided by DJ Delorie, who began the project in 1989. It is a port of the GNU Compiler Collection (GCC), and mostly GNU utilities such as Bash, find, tar, ls, GAWK, sed, and ldtoDOS Protected Mode Interface (DPMI). Supported languages include C, C++, Objective-C/C++, Ada, Fortran, and Pascal.

Overview

[edit]

The compiler generates 32-bit code, which runs natively in 32-bit protected mode while switching back to 16-bit DOS calls for basic OS support. However, unlike the Open Watcom C/C++ compiler, it is not a zero-based flat model due to preferring NULL pointer protection for better stability. It is currently based upon a variant of the COFF format. It can access up to 4 GB of RAM in pure DOS when using a suitable DPMI host (e.g., CWSDPMI r7 or HDPMI32).

As of August 2020, main components of DJGPP 2 include:

It is also possible to use DJGPP to cross-compile software to DOS, for example on UNIX / Linux. Both the DJGPP libraries and the programs can be compiled this way, linked and then deployed to machines with DOS or DOS emulators.

Compatibility

[edit]

DJGPP presents the programmer an interface which is compatible with the ANSI C and C99 standards, DOS APIs, and an older POSIX-like environment. Compiled binaries are long filename (LFN) aware and can handle such names under most 32-bit Windows by default, but they cannot use the Win16 or Win32 APIs that graphical programs on Windows need.[3] terminate-and-stay-resident (TSR) programs to support LFNs under plain DOSorWindows NT 4 are available.

While DJGPP runs in 32-bit protected mode, its stub and library heavily rely on many 16-bit DOS and BIOS calls. Because the x86-64 versions of Windows lack support for 16-bit programs,[4][5] there is no NTVDM, and DJGPP applications cannot be run. Under x86-64 systems these applications function only through emulation (e.g. DOSBox), x86 virtualization (e.g. VirtualBox), or similar (e.g. Linux's DOSEMU). This problem arises because in long mode x86-64 processors do not support the virtual 8086 mode used to run 16-bit code in IA-32 processors. Newer x86 CPUs with VT-x do support paged real mode and unrestricted guest mode execution.

See also

[edit]

References

[edit]
  1. ^ "Announce: DJGPP V2.05 Released". Newsgroupcomp.os.msdos.djgpp. 3 November 2015.
  • ^ Eli Zaretskii (Jul 1999). "The DJGPP Project". Retrieved 20 Jul 2009.
  • ^ Wall, Kurt; Von Hagen, William (2004). The Definitive Guide to GCC. Apress. pp. 47–48. ISBN 9781590591093. Another popular, though aging, GCC-based development system is DJGPP, D.J.[sic] Delorie's free 32-bit development environment for DOS systems.
  • ^ "Guide: What is DJGPP?". Retrieved November 22, 2015. The target hardware platform for DJGPP programs is a PC platform ... running DOS ... or a DOS-compatible operating system DJGPP programs run under Windows' "dos prompt" boxes.
  • ^ Microsoft (11 Oct 2007). "List of limitations in 64-Bit Windows". Archived from the original on 20 April 2010. Retrieved 20 Apr 2010. 16-bit MS-DOS and Microsoft Windows 3.x utilities will not start. If you attempt to start such a program, you receive a "Program.exe is not a valid Win32 application" error message.
  • [edit]
    Retrieved from "https://en.wikipedia.org/w/index.php?title=DJGPP&oldid=1171977079"

    Categories: 
    1989 software
    C (programming language) compilers
    DOS extenders
    Free compilers and interpreters
    Free integrated development environments
    Hidden categories: 
    Articles with short description
    Short description is different from Wikidata
    Articles containing potentially dated statements from August 2020
    All articles containing potentially dated statements
    Official website different in Wikidata and Wikipedia
     



    This page was last edited on 24 August 2023, at 07:02 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki