DJGPP


Once upon a time there was a DOS user who saw Unix, and saw that it was good. After typing cp on his DOS machine at home, he downloaded GNU's unix tools ported to DOS and installed them. He rm'd, cp'd, and mv'd happily for many days, and upon finding elvis, he vi'd and was happy. After a long day at work (on a Unix box) he came home, started editing a file, and couldn't figure out why he couldn't suspend vi (w/ ctrl-z) to do a compile.

-- Erik Troan

DJGPP je v²vojovΘ prost°edφ pro DOS zalo╛enΘ na GNU programech, kterΘ zaΦal vyvφjet Dj Delorie. Jak pφ╣e, zaΦal o tom uva╛ovat v roce 1986, kdy se ptal Richarda Stallmana, jestli GNU plßnuje port pro DOS. Ten ale °φkal, ╛e to nenφ mo╛nΘ, proto╛e DOS nespl≥uje p°edpoklady GCC na operaΦnφ systΘm.

Od verze 2, kterß vznikla koncem roku 1996 je DJGPP jednφm z nejlep╣φch v²vojov²ch prost°edφch dostupn²ch pro DOS. Vytvß°φ pln∞ 32 bitovΘ programy, podobn∞ jako Watcom C, kterΘ ale jsou DPMI clienty a proto nenφ t°eba ╛ßdn² DOS extender, pouze DPMI server (pokud pou╛ijete velmi kvalitnφ server CSWDPMI dodßvan² v DJGPP, mßte k disposici i virtußlnφ pam∞╗ apod.). P°ekladaΦ GCC (GNU Compiler Collection) v poslednφ verzi 2.95 generuje v pr∙m∞ru nejrychlej╣φ k≤d ze v╣ech p°ekladaΦ∙ pro DOS (a ve v²vojov²ch verzφch i lep╣φ k≤d, ne╛ Visual C++ 6.0 Φi Intel Optimizing Compiler). Podporuje C, C++ (podpora C++ byla v poslednφ dob∞ v²razn∞ vylep╣ena a je nynφ jedna z nejlep╣φch v∙bec), Fortran, Chill, Pascal, ADA a experimentßln∞ dokß╛e p°eklßdat i Javovsk² bytecode a Javu. Optimalizuje pro velikost, nebo rychlost. Dokß╛e generovat k≤d optimalizovan² pro 386, 486, Pentium, Pentium Pro (II, nebo III), nebo AMD-K6. Existuje i experimentßlnφ verze PGCC, kterß navφc podporuje K5, Cyrix a generovßnφ MMX instrukcφ. CelΘ runtime prost°edφ se velmi p∞kn∞ snß╣φ s Windows a dokonce mß podporu pro dlouhΘ nßzvy a dal╣φ roz╣φ°enφ.

DJGPP obsahuje i mnoho dal╣φch utilit pro v²voj program∙ a jsou k dispozici kvalitnφ knihovny, IDE a dokumentace. Dφky t∞mto vlastnostnem se DJGPP dnes hodφ zejmΘna pro psanφ specializovan²ch aplikacφ, her a pro v²uku. Jinak se DOS dnes z°ejm∞ moc nepou╛φvß. DJGPP ale dokß╛e generovat k≤d i pro Windows a pro prost°edi Windows, OS/2 a jin²ch systΘm∙ existujφ podobnß prost°edφ zalo╛enß na stejn²ch GNU programech. P°echod na takovß prost°edφ z DJGPP je pak velmi snadn².

DJGPP je takΘ v²bornou ukßzkou spolehlivosti v²voje free softwarov²ch program∙. P°esto, ╛e komerΦnφ firmy v²voj p°ekladaΦ∙ pro DOS u╛ dßvno zastavily, DJGPP se vyvφjφ dßl, proto╛e mß stßle dostatek p°iznivc∙. Navφc v╣echny zm∞ny do GNU program∙ vyvφjen²ch na modern∞j╣φch platformßch se odrazφ i v jejich DJGPP verzφch.

Oproti 16ti bitov²ch p°ekladaΦ∙m (jako je Borland C) mß ale i n∞kterΘ nev²hody. ZejmΘna je to rychlost volßnφ slu╛eb DOSu a BIOSu. Jako v ka╛dΘ protected m≤dovΘ aplikaci v DOSu, ka╛dΘ takovΘ volßnφ si vynucuje n∞kolikanßsobnΘ p°epφnanφ mezi v86 a protected modem. Tak╛e Φtenφ souboru je asi o 10% pomalej╣φ. Druhß nev²hoda je velikost .exe souboru. Ka╛d² program obsahuje komplikovan² zavad∞Φ a proto je velikost klasickΘho hello worldu asi 30kb.

Pokud chcete n∞jak² p°φklad program∙ pod DJGPP, m∙╛ete zkusit t°eba Quake, demo Hard Rox, Info-ZIP (te∩ archivuje i dlouhΘ nßzvy), GhostScript, Executor - emulßtor MACu, WatTCP, Xemu, DESQview/X developers kit, real-time zoomer fraktßl∙ XaoS, demo BB atd.

Vφce informacφ najdete na domßcφ strßnce DJGPP (www.delorie.com).