Instalace DJGPP ^^^^^^^^^^^^^^^ Začneme od začátku - tedy ztahování z internetu. Hlavní distribuce DJGPP se nachází na ftp.simtel.net někde v adresáři /pub/simtelnet/gnu/djgpp. Český mirror je na ftp.kolej.mff.cuni.cz v adresáři /pub/dos/programming/djgpp/distribution. Samotné stahování není nic jednoduchého. Adresář je plný podadresářů a velká část souborů vůbec není třeba. Proto tu uvedu seznam, které je nutné nahrát i s krátkým popisem (čísla v názvech jsou verze, pokud tam budou pozdější verze, stáhněte je.): +--------------------+--------+-------------------------------------+ | Soubor | délka | popis | +--------------------+--------+-------------------------------------+ |v2/djdev201.zip |1538295 | Nejdůležitější programy, konfiguráče| | | | a knihovny | |v2gnu/bnu27b.zip |1712024 | Linker, assmebler a další | |v2gnu/gcc2721.zip |1096967 | Vlastní C kompiler | |v2misc/cwsdpmi3b.zip| 40719 | DPMI server | +--------------------+--------+-------------------------------------+ Další užitečné soubory jsou (podle důležitosti): +--------------------+--------+--------------------------------------+ |v2gnu/mak375b.zip | 209185 | Make utilita - nutná pro kompilaci | | | | většiny programů | |v2/faq210b.zip | 399350 | FAQ - odpovědi na často kladené | | | | otázky | |v2misc/mlp105b.zip | 40583 | Dobrý kompresor .EXE souborů | |v2apps/rhide12b.zip |1413201 | Borland - like IDE | |v2gnu/gpp2721b.zip | 681045 | C++ kompiler (bez knihoven) | |v2gnu/lgb2721b.zip | 970199 | C++ knihovna - nutná pro C++ | |v2gnu/txi390b.zip | 466929 | Čtečka dokumentace | |v2tk/alleg22.zip |1007783 | Allegro - grafická knihovna | |v2tk/grx20.zip | 659602 | GRX - jiná grafická knihovna | |v2gnu/ind191b.zip | 74952 | Indent - vylepšuje C zdrojáky | |v2gnu/gzp124b.zip | 71947 | Gzip - pakovací program | |v2gnu/gpc20b.zip |1125151 | Kompiler pascalu | |v2gnu/gdb416b.zip | 520271 | GNU debugger - neumí grafiku atd.. | | | | Jiný debuger je třeba fsdb v djdev | | | | nebo borland-style v rhide. | +--------------------+--------+--------------------------------------+ Tak to by pro začátek ztačilo. Soubory *s.zip obsahují zdrojáky. Samozdřejmě že tam je hodně jiných užitečných věcí. Potom co programy nahrajete na svůj počítač, rozbalte je do adresáře, kde chcete mít DJGPP (třeba c:\djgpp) pomocí: pkunzip -d <jméno> Programy se samy rozlezou po adresářové struktuře. Jedinou vyjímkou je allegro, které je třeba rozbalit stranou (třeba v controb\allegro. Potom stačí přitat to autoexecu: 1) cestu do <cesta>\bin 2) set DJGPP=<cesta1>/djgpp.env POZOR! Tady se v cestě píšou normální / místo \ Potom rebootujte, zkontrolujte, jestli je environment vpořádku a potom můžete napsat nějaky hello word a zkusit kompilaci: gcc hello.c Pokud kompilace proběhne, vytvoří se a.exe. Ten potom můžete otestovat. Pokud něco nefunguje jsou následující možnosti: 1) Kompiler píše že nenalezl DPMI a že chce cwsdpmi. To asi nemáte dobře nastavenou cestu do bin adresáře, nebo tam není cwsdpmi.exe 2) Kompiler něco nenalezne něco chybí, nebo nejsou správně nastavené proměné v autoexec.bat. 3) Kompiler spadne. Tady jsou následující možnosti: a) Na disku z DJGPP už není místo na dočasný soubor b) Málo paměti. Kompiler potřebuje víc jak 4MB. Spustte go32-v2. Pokud je virtuální paměti méně, nastavte cwsdpmi pomocí cwsparam swapování na volnější disk (standardně se swapuje na c:) Nebo přebootujte do komfigurace bez DPMI, pokud nějaké DPMI běží. c) Zkuste čistý himem.sys d) Vir DJGPP .exe souory jsou velmi citlivé na viry a jakakoliv nákaza je zničí. Nepomůže většinou ani odstranění viru. e) Počítač se uvařil. Tohle myslím vážně! Gcc je nejlepší test na počítač co znám, pokud to nějak divně tuhne, pada pokaždé jinak, nebo i zcela pravidelně, je možné, že to dělá hardware. Vlezte do setupu a zpomalte počítač, co to dá, vypněte turbo, zakažte cache atd. Pokud ani to nepomůže, hoďte motherboard svému prodejci na hlavu. On ho jistě rád vymění. 4) Něco jiného, na co jsem zapoměl. A teď už jenom pár tipů na konfiguraci: Konfigurace je v souboru djgpp.env v rootu. Je dobré přesměrovat dočasný adresář tam, kde máte ostatní soubory. Je dobré si udělat konfiguraci z co nejvíce volnou pamětí a nějakou tou cachi. Občas je dobré udělat tmp adresář v ramdisku. Další fígl je zabalit celý bin pomocí djp(mlp105b.zip). Občas to dokonce urychlí a ušetří to hodně megabajtů. Když je kompilování pomalé, občas pomůže zvětšení trasfer bufferu u ld.exe pomocí stubeditu. To samé urychlí i cc1, cpp a as. Občas kompileru C++ a C dojde zásobník, potom je třeba ho taky pomocí stubeditu zvětšit (u cc1, cc1plus a cc2). Je lepší používat CWSDPMI místo jiných dpmi serverů, protože potom programy detekují víc problémů s pamětí. Také doboručuju přečíst FAQ. A to je snad všechno. výheň