DJGPP
DJGPP (DJ's GNU Programming Platform) est un environnement de développement intégré créé par DJ Delorie, en portant GCC et les logiciels qui l'accompagnent sous DOS.
Développé par | DJ Delorie |
---|---|
Première version | |
Dernière version | 2.05 ()[1] |
Dépôt | www.delorie.com/bin/cvsweb.cgi/djgpp |
Écrit en | C, C++ |
Système d'exploitation | DOS |
Environnement | MS-DOS |
Type | Environnement de développement |
Licence | GNU GPL |
Site web | www.delorie.com |
Il s'agissait de fournir sous DOS un atelier logiciel permettant de travailler avec les codes sources d'applications du monde Unix. À l'époque où ce projet a été conçu, les Unix étaient encore relativement rares et coûteux, alors que MS-DOS était très banal et disponible sur des ordinateurs à bas coût par rapport aux stations de travail Unix.
DJ Delorie a entamé ce travail en 1989 à la suite d'un séminaire où Richard Stallman affirmait qu'il ne porterait pas son compilateur sous DOS car cet OS était trop rudimentaire pour supporter toutes les fonctionnalités de GCC.
DJGPP est une plate-forme de programmation 32-bit pour PC à base de processeur 386 ou supérieur, qui tourne sous MS-DOS ou compatibles. Il a été créé par DJ Delorie, qui a démarré le projet en 1989. C'est un portage du compilateur GCC, ainsi que de nombreux autres utilitaires GNU tels que bash, find, tar, ls, mv, awk, sed, et ld. Il possède un IDE de développement nommé RHIDE, dont l'interface est proche des versions de Turbo C et Turbo Pascal utilisant la Turbo Vision.
Il permet de créer des programmes DOS traditionnels ou des programmes 32 bits grâce au DPMI (DOS Protected Mode Interface). Il utilise un modèle de mémoire « plat », où le code et les segments de données sont mêlés. D'autres segments peuvent être accessibles indirectement.
Quake pour DOS a pu être compilé avec DJGPP, ainsi que d'autres programmes tels que p7zip, VIM, BIEW, UPX, NASM, Perl et NetHack. Des versions anciennes de WINE et de wxWidgets ont pu être portées sous DOS grâce à DJGPP.
DJGPP est toujours utilisé pour compiler certains systèmes d'exploitation comme nonameos ou l'extender DOS/Win32 de Japheth.
Compatibilité
DJGPP présente au programmeur une interface qui est compatible avec la norme ANSI C et C99. Presque toutes les extensions de GCC sont supportées, sauf certaines comme les « pipes ».
Les binaires peuvent être compilés avec des noms de fichiers longs et permettent l'utilisation de ces noms de fichiers sous Windows 9x mais pas sous Windows NT.
Les programmes DOS 32 bits développés avec DPMI peuvent être utilisés sous Windows, mais ils n'ont pas accès aux API Win32.