home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Rat's Nest 1
/
ratsnest1.iso
/
prgmming
/
stuff
/
djgopas.txt
< prev
next >
Wrap
Text File
|
1995-07-28
|
6KB
|
184 lines
DJGPP-pikaopas MikroBitin C-ohjelmointikurssia varten
Jere Käpyaho
28.7.1995
Tämä pikaopas on tarkoitettu avuksi DJGPP-ohjelmiston asentamiseen
erityisesti aloitteleville C-ohjelmoijille. DJGPP on ilmainen C- ja
C++-kääntäjä, jonka voit kopioida itsellesi MBnetistä. Ilmaisuudestaan
huolimatta DJGPP on hyvä kääntäjä. Se sisältää DOS-laajentimen, jonka
avulla voi ottaa käyttöön PC-koneen koko muistin.
DJGPP on peräisin UNIX-ympäristöstä, ja toisin kuin useimmat MS-DOSissa
toimivat C- ja C++-kääntäjät, se on 32-bittinen. DJGPP:n ottaminen
käyttöön vaatii keskimääräistä enemmän MS-DOSin tuntemusta, mutta
tämän oppaan pitäisi ainakin auttaa alkuun.
1. Hakemiston tekeminen ja sinne siirtyminen
Tee DJGPP:lle oma hakemisto sen aseman juurihakemistoon johon haluat
asentaa ohjelmiston (yleensä asema C:) seuraavilla komennoilla:
C:
CD \
MD DJGPP
CD DJGPP
Nyt kehotteena pitäisi näkyä 'C:\DJGPP>', jos kehotteesi on asetettu
näyttämään työhakemisto ja >-merkki. Pääasia on, että työhakemistona on
C:\DJGPP. Tämän voit tarkistaa antamalla pelkän CD-komennon, jolloin
MS-DOS näyttää työhakemiston.
2. Pakettien purkaminen
Kaikki DJGPP-paketit sisältävät alihakemistorakenteen, jonka voi tehdä
automaattisesti paketteja purkaessa. Jos käytät PKUNZIP-ohjelmaa,
kaikki paketit puretaan komennolla
PKUNZIP -d -o asema:\polku\paketti
missä 'asema', 'polku' ja 'paketti' korvataan purettavan paketin
täydellisellä nimellä, esimerkiksi C:\DOWNLOAD\DJDOC112.ZIP.
Perusasennukseen tarvittavat paketit voit purkaa komennoilla
pkunzip -d -o c:\download\djdoc112.zip
pkunzip -d -o c:\download\djeoe112.zip
pkunzip -d -o c:\download\djdev112.zip
pkunzip -d -o c:\download\gcc263bn.zip
pkunzip -d -o c:\download\gas23bn.zip
pkunzip -d -o c:\download\bnu252bn.zip
Pakettien hakemistorakenne on suhteellinen perushakemistoon nähden,
eli kaikki hakemistot syntyvät vaiheessa 1 tehdyn DJGPP-haaran alle.
4. Korjaussarjojen asentaminen
Koska DJGPP:hen kuuluu GNU-ohjelmia, joista tulee uusia versioita
vähän väliä, on tarpeen asentaa myös korjaussarjat. Ne puretaan
samalla tavalla kuin varsinaiset paketitkin, mutta jokainen sarja
sisältää lisäksi komentojonon joka pitää ajaa ennen kuin korjaus
tulee voimaan. Korjaussarjapakettien nimet ovat
dj112m1.zip
dj112m2.zip
dj112m3.zip
dj112m4.zip
Varmista että työhakemistona on edelleen C:\DJGPP. Pura sitten
korjaussarjan sisältävä paketti komennolla
pkunzip -d -o c:\download\dj112m1.zip
Aja sitten korjauksen suorittava komentojono komennolla
112m1
Toista sama korjaussarjoille m2, m3 ja m4.
5. Ympäristömuuttujien asentaminen
DJGPP:n ei toimi kunnolla ellei sitä varten aseteta useita MS-DOSin
ympäristömuuttujia. Tätä varten on AUTOEXEC.BAT-tiedostoon lisättävä
seuraavat rivit:
SET DJGPP=C:/DJGPP/DJGPP.ENV
SET TMPDIR=C:/DJGPP/TMP
SET GO32TMP=C:/DJGPP/TMP
SET GO32=ANSI
DJGPP-hakemistossa vaiheen 3 jäljiltä oleva tekstitiedosto DJGPP.ENV
sisältää tärkeitä tietoja, joita ei pidä mennä muuttamaan ellei tiedä
tarkalleen mitä tekee. Ympäristömuuttuja DJGPP osoittaa tämän tiedoston
sijainnin. Lisäksi ympäristömuuttujilla ilmoitetaan minne DJGPP saa
laittaa käännösten aikana syntyvät työtiedostot. GO32-muuttujalla
ohjataan GO32-laajentimen toimintaa. Useimpiin tarkoituksiin riittää
pelkkä ANSI-parametri. Lisätietoja löytyy tekstitiedostoista \DJGPP\
README.1ST sekä \DJGPP\DOCS\DJGPP\README.DOC.
HUOM.! Ympäristömuuttujien arvoissa käytetään kenoviivan (\) sijasta
tavallista kauttaviivaa (/), koska DJGPP on alkujaan peräisin
UNIX-ympäristöstä.
6. Asennuksen testaaminen
DJGPP-asennuksen onnistumisen testaamista varten on hakemistossa
\DJGPP\SAMPLES\HELLO komentojono nimeltä TESTIT.BAT. Mikäli joitakin
tärkeitä osia DJGPP:stä puuttuu, komentojono ilmoittaa siitä.
Mikäli olet asentanut DJGPP:n vaiheen 3 ohjeiden mukaan, TESTIT.BAT
antaa useita virheilmoituksia. Tämä on normaalia, koska perusasennus
on tarkoitettu vain C-kielisten ohjelmien kääntämiseen, ei C++- tai
Objective-C-ohjelmien kääntämiseen. Peruspaketissa ei myöskään ole
info-ohjelmaa. Kaikki DJGPP:hen kuuluva materiaali on kuitenkin
saatavissa MBnetistä.
Mikäli TESTIT.BATin ajaminen pysähtyy ilmoitukseen
"Error: This program requires a version of go32 (1.12.main3) newer
than this one."
et ole asentanut korjaussarjoja. Siispä tee niin.
Mikäli kaikki menee hyvin, pitäisi viimeisenä rivinä ennen uutta
kehotetta näkyä teksti
Hello! This is the test program.
7. MikroBitin C-kurssin esimerkkiohjelmien kääntäminen
MikroBitin C-kurssin esimerkit on testattu DJGPP:llä. Ne kaikki saa
ajettavaan muotoon samalla tavalla. Ensin käännetään ohjelma DJGPP:llä
binaarimuotoon ja sitten liimataan siihen GO32-laajennin.
Kääntäminen tapahtuu komennolla
gcc -o ohjelma1 ohjelma1.c
Tästä on tuloksena tiedosto nimeltä ohjelma1, joka on COFF-muotoinen
objektitiedosto (jos tämä ei sano mitään, ei se mitään). Tiedosto
muunnetaan ajettavaksi MS-DOSin EXE-tiedostoksi komennolla
coff2exe ohjelma1
Tästä syntyy tiedosto ohjelma1.exe, jonka voi ajaa komennolla
ohjelma1
Jos haluat käännöksen aikana näytölle lisätietoja siitä mitä DJGPP
oikeastaan tekee, voit lisätä käännöskomentoon heti gcc:n perään
valitsimen -v ("verbose" eli puhelias).
8. Lisämateriaalin asentaminen
Mikäli haluat tutustua DJGPP:n ja siihen kuuluvien GNU-ohjelmien
käyttöohjeisiin, tarvitset texinfo-ohjelman sekä itse dokumentit.
Ne löytyvät seuraavannimisistä paketeista:
txi310bn.zip texinfo-ohjelman binaarit
txi310dc.zip texinfo-ohjelman dokumentit
bnu252dc.zip binutils-paketin dokumentit
gas23dc.zip GNU assemblerin (gas) version 2.3 dokumentit
gcc263dc.zip GNU:n C/C++-kääntäjän (gcc) version 2.6.3 dokumentit
Lisäksi mukaan kuuluu GNU-debuggeri gdb, johon kuuluva materiaali on
paketeissa gdb412??.zip, missä ?? voi olla bn, dc, s1, s2, s3 tai s4.
Eikä se vielä tähän lopu, mutta loputkin löytyvät DJGPP:n README-
tiedostoista, jotka KANNATTAA EHDOTTOMASTI LUKEA!!! Jos esimerkiksi
haluat kääntää C++-ohjelmia, tarvitset libg++:n sekä gpp-binaarit,
jne. jne.
Kaikista GNU-ohjelmista on myös saatavissa lähdekoodi. Jos siis haluat
tutkia miten C- tai C++-kääntäjä tai jokin sen oheisohjelma on tehty,
voit imuroida lähdekoodit MBnetistä ja tutustua niihin.