home *** CD-ROM | disk | FTP | other *** search
- 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.
-
-
-