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ň