DJGPP
# DJGPP

DJGPP ist eine freie 32-Bit-IDE (Integrierte Entwicklungsumgebung) für die Programmiersprachen C, C++, Objective-C, Ada und Fortran auf 80386-kompatiblen PCs unter MS-DOS oder jedem anderen MS-DOS kompatiblen Betriebssystem, das .EXE-Dateien ausführen kann, wie zum Beispiel DR-DOS und FreeDOS. Die entwickelten Programme sind außerdem in 32-Bit-Versionen von Windows und in IBM OS/2 innerhalb der DOS-Kompatibilitätsschicht lauffähig. Außerdem gibt es für die meisten aktuellen Betriebssysteme die Möglichkeit, über einen DOS-Emulator eine DOS-kompatible Umgebung bereitzustellen. DJ Delorie begann das Projekt im Jahr 1989.

## Aufbau und Kompatibilität

DJGPP enthält unter anderem eine Version des freien C/C++-Compilers aus der GNU Compiler Collection (gcc) sowie einige andere GNU-Programmierwerkzeuge, wie zum Beispiel cp, ls, awk und sed, die auf DOS portiert wurden und dort mithilfe des DPMI benutzt werden können. Es verwendet ein flaches Speichermodell, bei dem der Programmcode und die Programmdaten im Arbeitsspeicher nicht getrennt sind. Die Entwicklungsumgebung ist einfach aufgebaut und kann leicht erweitert werden.

DJGPP stellt dem Programmierer eine Programmierschnittstelle bereit, die kompatibel zu ANSI C, C99, unterschiedlichen inoffiziellen Standards aus MS-DOS-Umgebungen und den POSIX-Standards aus Unix-Umgebungen ist. Daher ist DJGPP auch für Software-Entwicklungen unter reinem MS-DOS und kompatiblen Betriebssystemen geeignet, wenn die erzeugten Programme auf unterschiedlichen Betriebssystemen per cross-compiling ohne sonstige Anpassungsarbeiten funktionsfähig sein sollen.

Kompilierte, ausführbare Binärdateien benutzen, sofern verfügbar, außerdem die von Windows 95 bereitgestellten „Langen Dateinamen“. Die Schnittstelle zur Nutzung dieser wird in Windows 9x und neueren Windows NT bereits standardmäßig bereitgestellt; für ältere Windows und für reine DOS-Umgebungen stehen offene Programme zur Verfügung, welche die Schnittstelle nachbilden.

## Bedeutung

Als 32-Bit-Compiler für DOS erfreute DJGPP sich großer Beliebtheit, so wurden unter anderem MAME (ein Emulator für Arcade-Spiele) und das bekannte Computerspiel Quake unter DJGPP programmiert.

Seine Rolle bei der Portierung von UNIX-Programmen hat DJGPP mittlerweile teilweise an Cygwin und MinGW verloren. Die letzte Beta-Version von DJGPP 2.04 läuft auch ohne Probleme auf 32-Bit-Versionen von Windows und ist besser geeignet als die beiden Alternativen, falls die entwickelten oder portierten Programme auch unter DOS benutzt werden sollen.

