Laiteläheinen C-kieli, mitä C-käännösprosessissa tapahtuu

Koko: px
Aloita esitys sivulta:

Download "Laiteläheinen C-kieli, mitä C-käännösprosessissa tapahtuu"

Transkriptio

1 Laiteläheinen C-kieli, mitä C-käännösprosessissa tapahtuu PUNOMO NETWORKS OY , pva Sisältö 1. Komentoriviltä kääntäminen - jotta selviää miten toimitaan ja mitä terminologiaa eli käsitteitä on osattava 2. NetBeans-IDE-kääntäminen Raspissa - osoitan miten helpolla pääsee 3. Selvitän miten käännösprosessi etenee, mitä missäkin pisteessä tapahtuu jne. 4. Mitä tekee make ja makefile Johdanto Seuraavassa kerron millainen on käännösprosessi kun C-kielinen lähdekoodi käännetään GCC-kääntäjällä Raspberryssä olevalle ARM-ohjaimelle. GNU Compiler Collection (yleensä GCC) on GNU-projektin kääntäjien kokoelma. Se on Free Software Foundationin vapaata ohjelmistoa. GCC on GNU:n kehitysympäristön tärkein osa ja vapaiden Unixin kaltaisten käyttöjärjestelmien vakiokääntäjä ja usein hyödynnetty myös kaupallisten kehitysympäristöjen kanssa. GCC osaa kääntää C:tä ja myös C++, Javaa, Fortrania, Adaa, Objective-C:tä (Apple). Isot ohjelmat Ajatelkaamme vaikka kännykän ohjelmiston tekemistä. Koodia tarvitaan paljon. Osa siitä hoitelee äänen digitointia, toinen osa muokkaa sen lähetykseen sopivaksi, kolmas tarkkailee tukiasemia ja hoitelee radioyhteyttä, neljäs valvoo sähkön kulutusta ja akun tilaa. Lisää koodia tarvitaan hälytyksien soittoon, puhelutietojen tallentamiseen, tekstiviesteihin, puhelinluettelon ylläpitoon, kameraan, peleihin ja vaikka mihin. Ohjelmiston tekemiseen tarvitaan tuhansia koodin tekijöitä, tuhansittain tiedostoja, vielä enemmän funktiota ja headereita ja ties mitä. Pienet ohjelmat kannattaa rakentaa samalla periaatteella kuin isot, siis jakaa ne pieniin toimiviin kokonaisuuksiin, moduuleihin. Homma pysyy hanskassa. Kääntäjän tarvitsemat ohjeet ovat ohjelmien kasvaessa hyvin monimutkaisia ja valitettavasti samalla kääntämiseen tarvittavien komentojen määrä kasvaa. Pitää tietää mistä eri tiedostoista ohjelma koostuu, mitkä niistä pitää milloinkin kääntää, mitä ei välttämättä tällä kertaa tarvitse kääntää, jne. Fiksu tietokoneen käyttäjä laittaa tietokoneen töihin. Sitä varten on ohjelma make. 1

2 1. Komentoriviltä kääntäminen Loggaudu Mint-koneesta Putty-ohjelmalla Raspiin. Olet pi-käyttäjän kotihakemistossa. Luo sinne kansio c-codes: sudo mkdir c codes siirry sinne, anna komento cd c codes. Käynnistä nano-editori sudo nano Kirjoita seuraava koodi. #include <stdio.h> int main(void) { printf("hello Raspi World!\n"); return 0; } tallenna CTRL + o, kysyy tiedostolle nimeä, anna hello.c lopetus CTRL + x Funktio/metodi päätetään return 0 -vakiokomennolla, sillä C- ja C++ -kielissä kaikki metodit palauttavat jonkun arvon Kirjoita komento: gcc hello.c Kuten kuvasta näet ja omasta koneesta myös, gcc-kääntäjän käännöstulos ilman parametreja on a.out. Näin se on kaikilla C-käännöksillä, oli käännettävän koodin nimi mikä tahansa, käännöstulos on aina sama a.out (Unixin ominaisuus). a.out tarkoittaa assembler output, ajokelpoinen tiedosto. Tässä kun sen ajaa:./a.out, niin lopputulos on Hello Raspi World!, kuten kuvastakin näkyy. Kun kirjoitetaan komento./hello, niin käyttöjärjestelmä tietää, että ajettava hello-tiedosto on oletushakemistossa (siinä jossa par'aikaa ollaan). Muuten se lähtisi hakemaan tioedostoa polkumäärityksen perusteella ja ajaisi ensimmäisen tuolla nimellä olevan ajokelpoisen tiedoston. assembly on assembly-kieli assembler on assembly-kielen kääntäjä 2

3 Annetaan kääntäjälle lisäohjeita, kirjoita komento: sudo gcc o hello hello.c -o <tiedosto> Ohjaa tuloste <tiedostoon> eli gcc o hello hello.c, käännöstulos saa nimen hello eli gcc o apu hello.c, käännöstulos saa nimen apu voit käyttää kääntäjän kutsuun myös merkintää cc, joka on Unixin tapa gcc-kääntäjän parametreista saa lisäinfoa komennolla: gcc --help katso kansion sisältö ls-komennolla, hello on tullut lisää. Anna komento:./hello Tällä tavalla me voimme antaa ajettavalle koodille uuden nimen a.outin tilalle. Anna ls käskylle parametrit -al, ja katsotaan mitä tapahtuu. (.) tarkoittaa tässä yhteydessä oletushakemistoa, eli sitä missä ollaan (..) tarkoittaa seuraavaa ylätason hakemistoa, johon mennään komennolla [cd.., change directory, vaihda hakemisto], huomaa tyhjä väli d:n ja ekan pisteen välissä. Pieni GCC ohje 1: Jos haluat kääntää hello.c ja main.c koodit ohjelmaksi ekakoodi, se tapahtuu näin: gcc Wall pedantic ansi g lm main.c hello.c o ekakoodi Pieni GCC ohje 2: gcc Wall std=c99 o hello hello.c Wall = warnings all, jolloin GCC varoittaa mikäli koodi on virheellistä. pedantic = noudata tarkasti standardia ansi = pitää noudattaa ansi standardia g = käännä mukaan debug-informaatio gdb-ohjelmaa (tai vastaavaa varten) lm = linkitä mukaan tarpeen vaatiessa matematiikkakirjasto o = ekakoodi on syntyvä ajettava tiedosto std=c99 puolestaan kertoo, että ohjelmakoodi on kirjoitettu C99-standardia noudattaen. Tällöin GCC tarkistaa, että ohjelmakoodi noudattaa tarkasti C99- standardia ja ilmoittaa mikäli ohjelmakoodi on virheellistä. 3

4 2. NetBeans-IDE-kääntäminen Kun koodi valmis, talleta klikkaamalla disketin kuvaketta. Talleta lähdekoodi Sitten on tullut aika testata toimiiko kaikki niinkuin pitää. Käännetään ensin varmuuden vuoksi. Ensimmäisen koodin kääntäminen ja ajo Ensin käännös Käännös ja ajo samassa napissa NetBeans työntää lähdekoodin verkon kautta SSH-yhteydellä Raspiin, etsii sieltä C- kääntäjän ja kääntää koodin. Siis jos yhteys toimii ja lähdekoodi on virheetöntä, se ilmoittaa onnistumisen (ja myös epäonnistumisen) verkon kautta takaisin NetBeansin ikkunaan. NetBeansin käyttöliittymän oikeaan alaosaan avautuu Output-info-ikkuna. Jos kaikki toimii oikein, niin saat ilmoituksen että OK, eli Build Successful. Aja ohjelma. Klikkaa vihreää nuolta, katso kuva yllä. Jos käännös onnistui, niin todennäköisesti myös ajo onnistuu. Ohjelma tulostaa tekstin Hello Raspi, kuten kuvasta näkyy. 4

5 3. Mitä käännnösprosessissa oikein tapahtuu? C-kielen kääntäjä toimii kaksiosaisesti, ensin C-kielinen lähdekoodi käännetään assemblyksi-kieleksi ja se edelleen kohdeprosessorin konekoodiksi. Näin siksi, että jos kohdeprosessorin konekieli vaihtuu, niin varsinaiseen C-koodiin ei tarvitse tehdä mitään muutoksia, ainostaan jälkimmäinen kääntäjän osa vaihdetaan kohteen mukaan. 5

6 Lähdekoodi Kirjoitetaan Raspi-ympäristössä nano-editorilla tai mieluummin NetBeans-IDEssä ja Mint- (Windows-)pöytäkoneessa. Build Käännös alkaa make-ohjelman käynnistämisellä. Se lukee ohjeet makefile-tiedostosta ja käynnistää C-kääntäjän. Esikääntäjä, preprocessor on ohjelma, joka käsittelee lähdekoodia ennen kuin varsinainen kääntäjä ottaa sen käsittelyynsä. Esikäsittelysäännöt alkavat aina risuaitamerkillä # ja ne ovat siis ohjeita esikääntäjälle. Esikääntäjä työstää ohjelmoijan työtä helpottavia vakiomäärittelyjä, makroja ja ehdollisen kääntämisen komentoja. Rivin loppuun ei kirjoiteta puolipistettä. C-kielen esikääntäjä suorittaa tekstikorvauksia ennen varsinaista käännöstä, käsittelee #include direktiivit, laajentaa #define määrittelyiden mukaiset makrot ja poistaa kommentit. Kääntäjä, compiler Kääntäjän tehtävä on kääntää lähdekielinen ohjelma symboliselle konekielelle, eli assembly-kieleksi. Muunnoksessa lähdekielestä konekielelle kontrollirakenteet (if, while, for,... ) muutetaan hyppykäskyiksi (jmp, branch ) ja kohdeosoitteiksi (label). Kääntäjä tekee myös paljon tarkistuksia, koska kielissä on sääntöjä ja rajoituksia, jotta mahdollisimman paljon virheitä paljastuisi ennen ajoa Konekielikääntäjä, assembler Konekielikääntäjä muuntaa symbolisen konekielen binääriseen muotoon objektitiedostoksi. Tiedostotarkennin on tässä vaiheessa *.o. Symboliset osoitteet korvataan numeerisilla osoitteilla, mutta lopulliset osoitteet ovat vielä tässä vaiheessa tuntemattomia. Konekieliohjelma koostuu käskyistä, muistiosoitteiden nimistä (label) ja käännöstyötä ohjaavista ohjauskomennoista (direktiiveistä). Yhdistelijä, linkittäjä, linkkeri, linker Linkkeri kokoaa ohjelman keräämällä yhteen käännetyt objektitiedostot ja valmiit Kirjastotiedostot ja generoi niistä ajokelpoisen ohjelman, *.out. Linkkeri kiinnittää ohjelman sijainnin muistissa, käyttöjärjestelmä tai ympäristö määrää, mikä tämä osoite on. Yhdistely voi olla staattista tai dynaamista: staattisessa yhdistelyssä kaikki osat kootaan yhdeksi suoritettavaksi tiedostoksi, dynaamisessa yhdistelyssä kirjastot liitetään vasta ohjelman latauksen yhteydessä. Eri käyttöjärjestelmien objektiformaatteja: ELF, Executable and Linkable Format Solaris, Linux, System V Unix, BSD Unix COFF, Common Object File Format Tru64 Unix, Systen V Unix, Linux MSDOS, *.exe, *.com Unix, Linux, a.out Muokkain, modifiers Muuttaa tiedoston nimen ja tekee tarvittaessa muita lisäyksiä koodiin. 6

7 4. Mitä tekee make ja makefile make Isot ohjelmat koostuvat useasta lähdekoodi- ja otsikkotiedostosta (samassa työssä voi olla monta koodaajaa tai ohjelman koko edellyttää sitä). Kääntäjän tarvitsemat ohjeet ovat ohjelmien kasvaessa hyvin monimutkaisia, koska tarvittavien komentojen määrä kasvaa. Kaikkea ei ole kuitenkaan tarpeen kääntää joka pikku muutoksella. Unix/Linux-maailmassa on apuvälineenä käytössä make, make- tai gmake (Gnu make) -apuohjelma. Makella käännösprosessi automatisoidaan ja siitä poistetaan arkirutiinit. Makea varten tehdään ohjetiedosto makefile. Siitä make lukee käännösohjeet. Ohjeiden perusteella make ohjaa kääntäjää, linkkeriä, yms. tekemään vain ne tarvittavat toimet, jotka työstettävä ohjelma kulloinkin vaatii. Se ohjaa kääntämään vain ne osat, jotka ovat muuttuneet edellisen prosessoinnin jälkeen. Viisas make tuntee kellon ja kalenterin, siis käännöksien ajankohdat. Ohjeitten on oltava samassa työhakemistossa, missä meillä on käännettävä lähdekoodi. Make lukee tätä ohjetiedostoa, jossa kuvataan miten käännösprosessi tehdään. If you wish to download and install make youself, you can find it at gnu.org/software/make. Mikä maken versio: $ make --version Makefile makefile on puhdas ASCII-tekstitiedosto, joka sisältää ohjeet miten GCC-kääntäjä kääntää C-kielisen lähdekoodin ARM-ohjaimen ymmärtämäksi konekoodiksi. Makefile on erilaisia komentorivejä, erilaisia ohjeita ja sääntöjä (mm. tiedostojen riippuvuudet toisistaan) sisältävä tiedosto. Makefile sijaitsee yleensä samassa hakemistossa missä lähdekoodikin. Makefilen syntaksi on tarkoin määritelty. Se muodostuu - kohteista (targets), - riippuvuuksista (dependencies) ja - säännöistä (rules). Riippuvaisuustiedostot ovat yleensä ohjelman moduleja, tiedostoja, joista muodostuu kääntämällä, linkittämällä tai muilla sääntöjen määräämällä tavalla kohdetiedosto. Eli lyhyesti, makefile kertoo mitkä tiedostot pitää kääntää ja miten. Oikeastaan se on vain luettelo erilaisia ohjeita ja sääntöjä. 7

8 Viisi kysymystä joilla selviää mistä koostuu ja mitä tekee makefile 1. Millä kääntäjällä tiedostot käännetään? make osaa ohjata useita eri kääntäjiä, tässä ARM-GCC-kääntäjää. 2. Mille mikro-ohjaimelle tiedostot käännetään? Eli mikä on se ARM:n tyyppi, jolle koodi käännetään. 3. Mitkä koodit käännetään? Mitkä kaikki koodit tulee kääntää eli mistä eri tiedostoista ohjelma koostuu. Makefilessä kerrotaan minkälaisia riippuvuussuhteita eri tiedostojen välillä vallitsee. Näistä suhteista ja tiedostojen muutosajoista make osaa päätellä, mitkä tiedostot on käännettävä, linkitettävä tai muulla tavoin päivitettävä ajan tasalle. 4. Miten koodi käännetään? Tarvitaanko ajokelpoisen tallennettavan *.-koodin lisäksi muita tiedostoja? Eli tarvitaanko EEPROM-muistia varten oma tiedosto, tarvitaanko debuggausta eli virheen jäljitintä varten oma koodiformaatti, millaisia käännösoptioita käytetään (mahdollisimman nopea vai mahdollisimman pieni koodi), jne. 5. Mitä muuta kääntäjän tulee tehdä? Tulostetaanko virheilmoitukset, eritelty tilasto koodien koosta, käännöksen etenemisen esitys, tehdäänkö tarpeettomien (välitulosteet) tiedostojen poisto, jne. 8

1. NetBeans-ohjelman asennus ja käyttöönotto pva

1. NetBeans-ohjelman asennus ja käyttöönotto pva 1. NetBeans-ohjelman asennus ja käyttöönotto 11.7.2016 pva NetBeans on ohjelmointiympäristö, IDE (Integrated Development Environment) jonka avulla opiskelemme laiteläheistä C-ohjelmointia. Oletus Sinulla

Lisätiedot

Laiteläheinen C-kieli osa 1 pva

Laiteläheinen C-kieli osa 1 pva Laiteläheinen C-kieli osa 1 pva 12.7.2016 Osion sisältö Ohjelmoimaan oppii vain itse tekemällä Ensimmäinen projekti ja ensimmäinen ohjelma hello.c Oletus Sinulla on käytössäsi 1. GNU/Linux (Mint) pöytäkone

Lisätiedot

KYMENLAAKSON AMMATTIKORKEAKOULU

KYMENLAAKSON AMMATTIKORKEAKOULU 1 KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka Ole Halonen GNU-ohjelmointityökalut Linux-järjestelmät 206101310 Seminaarityö 22.11.2012 2 Sisällysluettelo 2 1 Johdanto

Lisätiedot

Laiteläheinen C-kieli, hello.c

Laiteläheinen C-kieli, hello.c Laiteläheinen C-kieli, hello.c PUNOMO NETWORKS OY 23.8.2016 pva Oletus Sinulla on GNU/Linux-Mint-koneessa (tai vastaava Windows) NetBeans-IDE konfiguroituna toimimaan SSH-etäkäytössä RaspberryPi:n kanssa.

Lisätiedot

NetBeans asennus ja etäkäyttö C-kielen opiskeluun, Windows

NetBeans asennus ja etäkäyttö C-kielen opiskeluun, Windows NetBeans asennus ja etäkäyttö C-kielen opiskeluun, Windows PUNOMO NETWORKS OY 24.7.2016 & 27.8.2016 pva NetBeans on ohjelmointiympäristö, IDE (Integrated Development Environment) jonka avulla opiskelemme

Lisätiedot

NetBeans asennus ja etäkäyttö C-kielen opiskeluun, Linux

NetBeans asennus ja etäkäyttö C-kielen opiskeluun, Linux NetBeans asennus ja etäkäyttö C-kielen opiskeluun, Linux PUNOMO NETWORKS OY 24.7.2016 pva NetBeans on ohjelmointiympäristö, IDE (Integrated Development Environment) jonka avulla opiskelemme laiteläheistä

Lisätiedot

C-ohjelmoinnin peruskurssi. Pasi Sarolahti

C-ohjelmoinnin peruskurssi. Pasi Sarolahti C! C-ohjelmoinnin peruskurssi Pasi Sarolahti Mitä haluan oppia C-kurssilla? ja miksi? Tutustu lähimpään naapuriin Keskustelkaa miksi halusitte / jouduitte tulemaan kurssille 3 minuuttia è kootaan vastauksia

Lisätiedot

Raspin Geany-IDE:n etäkäyttö

Raspin Geany-IDE:n etäkäyttö Raspin Geany-IDE:n etäkäyttö PUNOMO NETWORKS OY 23.7.2016 pva Geany ei ole IDE, eikä se ole teksturi, vaan se on kevyt-ide. IDE, Integrated Development Environment, integroitu ohjelmointiympäristö. Geany

Lisätiedot

Loppukurssin järjestelyt

Loppukurssin järjestelyt C! Loppukurssin järjestelyt 29.3.2018 Ohjelmassa Yhteenvetoa palautteesta Ohjelmontitehtävän järjestelyt Tietokonetentin järjestelyt Kysyttävää / kerrattavaa 10-kierroksen asioista? Aikatauluista 10. kierroksen

Lisätiedot

Loppukurssin järjestelyt C:n edistyneet piirteet

Loppukurssin järjestelyt C:n edistyneet piirteet C! Loppukurssin järjestelyt C:n edistyneet piirteet 30.3.2017 Ohjelmassa Ohjelmontitehtävän järjestelyt Tietokonetentin järjestelyt Esikääntäjä Parametrilistat Funktio-osoittimet Kunniamainintoja Kuura

Lisätiedot

C-ohjelmointi, syksy Modulaarinen ohjelmointi. Luento C-ohjelmointi Syksy

C-ohjelmointi, syksy Modulaarinen ohjelmointi. Luento C-ohjelmointi Syksy , syksy 2007 Modulaarinen ohjelmointi Luento 9 10.10.2007 Syksy 2007 1 Sisältö Modulaarisuus C:ssä Käännösyksikkö ja otsaketiedosto Makefile Syksy 2007 2 1 Ison ohjelman toteuttaminen Kokonaisuus on jaettava

Lisätiedot

Modulaarinen ohjelmointi

Modulaarinen ohjelmointi C-ohjelmointi Modulaarinen ohjelmointi Viikko 6 1 Sisältö Modulaarisuus C:ssä Käännösyksikkö ja otsaketiedosto Makefile 2 Ison ohjelman toteuttaminen Kokonaisuus on jaettava hallittaviin osiin Toiminnallisia

Lisätiedot

Laiteläheinen C-kieli, yleistä

Laiteläheinen C-kieli, yleistä Laiteläheinen C-kieli, yleistä PUNOMO NETWORKS OY 23.8.2016 pva Johdanto Mikroprosessori, CPU, Central Prosessing Unit on komponentti, jonka toiminta on ohjattavissa muistiin tallennetuilla käskyillä.

Lisätiedot

BL40A1810 Mikroprosessorit, harjoitus 1

BL40A1810 Mikroprosessorit, harjoitus 1 BL40A1810 Mikroprosessorit, harjoitus 1 Käytettävä laitteisto Kurssin opetuslaitteistona käytetään Legon MINDSTORMS laitteita, jonka pääosia ovat ohjelmoitava NXT-yksikkö (Atmel ARM7, 64k RAM, 256k Flash),

Lisätiedot

Ohjelmointi Linuxissa. Sisällysluettelo. 1. Mitä tarvitaan sovellusten tuottamiseen? Tehnyt: Antti Martikainen (1300698)

Ohjelmointi Linuxissa. Sisällysluettelo. 1. Mitä tarvitaan sovellusten tuottamiseen? Tehnyt: Antti Martikainen (1300698) Ohjelmointi Linuxissa Tehnyt: Antti Martikainen (1300698) Sisällysluettelo 1. Mitä tarvitaan sovellusten tuottamiseen?...1 2. GNU Toolchain...2 3. Tekstieditorit...2 4. Hello world-sovelluksen luominen

Lisätiedot

5. HelloWorld-ohjelma 5.1

5. HelloWorld-ohjelma 5.1 5. HelloWorld-ohjelma 5.1 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi. Tavukoodin suorittaminen. Virheiden korjaaminen 5.2

Lisätiedot

Ongelma(t): Miten jollakin korkeamman tason ohjelmointikielellä esitetty algoritmi saadaan suoritettua mikro-ohjelmoitavalla tietokoneella ja siinä

Ongelma(t): Miten jollakin korkeamman tason ohjelmointikielellä esitetty algoritmi saadaan suoritettua mikro-ohjelmoitavalla tietokoneella ja siinä Ongelma(t): Miten jollakin korkeamman tason ohjelmointikielellä esitetty algoritmi saadaan suoritettua mikro-ohjelmoitavalla tietokoneella ja siinä olevilla komponenteilla? Voisiko jollakin ohjelmointikielellä

Lisätiedot

Raspin Geany-IDE:n etäkäyttö Windows-ympäristössä

Raspin Geany-IDE:n etäkäyttö Windows-ympäristössä Raspin Geany-IDE:n etäkäyttö Windows-ympäristössä PUNOMO NETWORKS OY 11.8 & 23.8.2016 pva Geany on valittu Punomon ohjelmointityökaluksi perus- ja ammattikoululaisille. Muillekin se sopii. Geany on jo

Lisätiedot

.NET ajoympäristö. Juha Järvensivu 2007

.NET ajoympäristö. Juha Järvensivu 2007 .NET ajoympäristö Juha Järvensivu juha.jarvensivu@tut.fi 2007 Käännösprosessi C# lähdekoodi C# kääntäjä CILtavukoodi JITkäännös Ajettava natiivikoodi Kehitysympäristössä ohjelmoijan toimesta Ajonaikana.NET

Lisätiedot

4. Lausekielinen ohjelmointi 4.1

4. Lausekielinen ohjelmointi 4.1 4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Hyvä ohjelmointitapa. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen

Lisätiedot

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä Pekka Ryhänen & Erkki Pesonen 2002 BlueJ:n käyttö Nämä ohjeet on tarkoitettu tkt-laitoksen mikroluokan koneilla tapahtuvaa käyttöä varten. Samat asiat pätevät myös muissa luokissa ja kotikäytössä, joskin

Lisätiedot

C-ohjelmoinnin peruskurssi. Pasi Sarolahti

C-ohjelmoinnin peruskurssi. Pasi Sarolahti C! C-ohjelmoinnin peruskurssi Pasi Sarolahti 12.1.2017 presemo.aalto.fi/c17 1/12/17 Mikä C? 3 Ken Thompson & Dennis Ritchie http://www.computerhistory.org/fellowawards/hall/bios/ken,thompson/ 4 Mikä C?

Lisätiedot

Luento 4. Timo Savola. 21. huhtikuuta 2006

Luento 4. Timo Savola. 21. huhtikuuta 2006 UNIX-käyttöjärjestelmä Luento 4 Timo Savola 21. huhtikuuta 2006 Osa I Shell Lausekkeet Komentoriville kirjotettu komento on lauseke echo "foo" echo $USER MUUTTUJA=1 ls -l Rivinvaihto

Lisätiedot

4. Lausekielinen ohjelmointi 4.1

4. Lausekielinen ohjelmointi 4.1 4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen ja tulkinta. - Kääntäminen,

Lisätiedot

IDE asennus, Integrated Development Environment Atmelin AVR-mikro-ohjaimille. 15.8.2008 pva

IDE asennus, Integrated Development Environment Atmelin AVR-mikro-ohjaimille. 15.8.2008 pva IDE asennus, Integrated Development Environment Atmelin AVR-mikro-ohjaimille. 15.8.2008 pva Pienen maan armeija on samaa tarkoitusta varten kuin päivystävän upseerin pistooli. Omia varten. - Arvo Salo

Lisätiedot

5. HelloWorld-ohjelma 5.1

5. HelloWorld-ohjelma 5.1 5. HelloWorld-ohjelma 5.1 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi. Tavukoodin suorittaminen. Virheiden korjaaminen 5.2

Lisätiedot

C-ohjelmoinnin peruskurssi. Pasi Sarolahti

C-ohjelmoinnin peruskurssi. Pasi Sarolahti C! C-ohjelmoinnin peruskurssi Pasi Sarolahti 4.6.2018 Mikä C? 4 Ken Thompson & Dennis Ritchie http://www.computerhistory.org/fellowawards/hall/bios/ken,thompson/ 5 C vs Python Python friends = ['john',

Lisätiedot

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

Lisätiedot

ELM GROUP 04. Teemu Laakso Henrik Talarmo

ELM GROUP 04. Teemu Laakso Henrik Talarmo ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................

Lisätiedot

Kieliversiointityökalu Java-ohjelmistoon. Ohje

Kieliversiointityökalu Java-ohjelmistoon. Ohje Kieliversiointityökalu Java-ohjelmistoon Ohje 2/6 SISÄLLYSLUETTELO 1 YLEISTÄ OHJELMASTA... 3 2 PÄÄ-IKKUNA...4 3 YLÄVALIKKO... 4 3.1 TIEDOSTO... 4 3.2 TOIMINTO... 4 3.3 ASETUKSET... 5 3.4 OHJE... 5 4 VÄLILEHDET...5

Lisätiedot

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014 18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

Simulaattorin asennus- ja käyttöohje

Simulaattorin asennus- ja käyttöohje Linux ja Windows XP Versio Päiväys Muokkaaja Kuvaus 0.2 16.2.2006 Mikko Halttunen Katselmoinin jälkeen 0.1 13.2.2006 Mikko Halttunen Alustava versio Sisällysluettelo 1 Johdanto... 3 2 Simulaattorin asennus...

Lisätiedot

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 Tietokonejärjestelmän rakenne Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone

Lisätiedot

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone

Lisätiedot

Luento 5. Timo Savola. 28. huhtikuuta 2006

Luento 5. Timo Savola. 28. huhtikuuta 2006 UNIX-käyttöjärjestelmä Luento 5 Timo Savola 28. huhtikuuta 2006 Osa I Shell-ohjelmointi Ehtolause Lausekkeet suoritetaan jos ehtolausekkeen paluuarvo on 0 if ehtolauseke then lauseke

Lisätiedot

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone

Lisätiedot

Julkaiseminen verkossa

Julkaiseminen verkossa Julkaiseminen verkossa H9T1: Tiedostojen vienti internetiin Yliopiston www-palvelin, kielo Unix käyttöjärjestelmästä hakemistorakenne etäyhteyden ottaminen unix-koneeseen (pääteyhteys) komentopohjainen

Lisätiedot

TIE PRINCIPLES OF PROGRAMMING LANGUAGES Eiffel-ohjelmointikieli

TIE PRINCIPLES OF PROGRAMMING LANGUAGES Eiffel-ohjelmointikieli TIE-20306 PRINCIPLES OF PROGRAMMING LANGUAGES Eiffel-ohjelmointikieli Seminaariesitelmä ryhmä 24 Markku Ahokas Jani Kuitti i SISÄLLYSLUETTELO 1. YLEISTÄ EIFFELISTÄ... 1 1.1 Historia ja tausta... 1 1.2

Lisätiedot

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2 TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos TKT-3200 Tietokonetekniikka I Harjoitustyö 4: Cache, osa 2.. 2010 Ryhmä Nimi Op.num. 1 Valmistautuminen Cache-työn toisessa osassa

Lisätiedot

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 Tietokonejärjestelmän rakenne Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Luento

Lisätiedot

ASCII-taidetta. Intro: Python

ASCII-taidetta. Intro: Python Python 1 ASCII-taidetta All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/18cplpy to find out what to do.

Lisätiedot

Ohjelmistojen testaus ja hallinta. Gradle

Ohjelmistojen testaus ja hallinta. Gradle Ohjelmistojen testaus ja hallinta Gradle Perinteiset koontityökalut Ant Maven 2 Maven XML-pohjaiset koontitiedostot (pom.xml) Pohjautuu käytäntöihin (vain poikkeukset käytännöistä kirjoitetaan koontitiedostoon)

Lisätiedot

Coolselector Asennusohje

Coolselector Asennusohje MAKING MODERN LIVING POSSIBLE Coolselector Asennusohje Täydellinen valinta on vain muutaman klikkauksen päässä www.danfoss.fi/kylma Yleiset vaatimukset Windows XP asennus Windows 7 asennus Asennuksen poisto

Lisätiedot

JAKELUPISTE KÄYTTÖOHJE 2/6

JAKELUPISTE KÄYTTÖOHJE 2/6 käyttöohjeet JAKELUPISTE KÄYTTÖOHJE 2/6 1. Esittely JakeluPiste on helppo ja yksinkertainen ratkaisu tiedostojen lähettämiseen ja vastaanottamiseen. Olipa kyseessä tärkeä word dokumentti tai kokonainen

Lisätiedot

TIETORAKENTEET JA ALGORITMIT

TIETORAKENTEET JA ALGORITMIT TIETORAKENTEET JA ALGORITMIT Timo Harju 1999-2004 1 typedef link List; /* Vaihtoehtoisia nimiä */ typedef link Stack; /* nodepointterille */ typedef link Queue typedef struct node Node; /* itse nodelle

Lisätiedot

3. C-kieli sulautetun järjestelmän ohjelmointikielenä 07.01.2008, pva

3. C-kieli sulautetun järjestelmän ohjelmointikielenä 07.01.2008, pva 3. C-kieli sulautetun järjestelmän ohjelmointikielenä 07.01.2008, pva "Ohjelmointi ei ole mitään massojen huvia, vaikka sitä joskus helpoksi luullaankin. Joiltakin se sujuu luonnostaan, jotkut voivat jopa

Lisätiedot

Punomo Tee itse -julkaisun tekeminen

Punomo Tee itse -julkaisun tekeminen Punomo Tee itse -julkaisun tekeminen Tässä pikaohje Uuden Punomon Tee itse -julkaisujen tekemiseen. Kun ensimmäinen juttusi on tehty tätä ohjetta noudattaen, seuraava homma hoituu maalaisjärjellä. Uudistuvan

Lisätiedot

CVS. Kätevä väline usein päivitettävien tiedostojen, kuten lähdekoodin, hallitsemiseen

CVS. Kätevä väline usein päivitettävien tiedostojen, kuten lähdekoodin, hallitsemiseen CVS Versionhallintajärjestelmä Kätevä väline usein päivitettävien tiedostojen, kuten lähdekoodin, hallitsemiseen Käytetään komentoriviltä, myös graafisia käyttöliittymiä saatavilla CVS Kaikki tiedostot

Lisätiedot

Ohjeita LINDOn ja LINGOn käyttöön

Ohjeita LINDOn ja LINGOn käyttöön Ohjeita LINDOn ja LINGOn käyttöön LINDOn tärkeimmät komennot ovat com (command), joka tuloaa käytettävissä olevat komennot ruudulle, ja help, jonka avulla saa tietoa eri komennoia. Vaaukset kursiivilla

Lisätiedot

Luento 2. Timo Savola. 31. maaliskuuta 2006

Luento 2. Timo Savola. 31. maaliskuuta 2006 UNIX-käyttöjärjestelmä Luento 2 Timo Savola 31. maaliskuuta 2006 Osa I Prosessit Prosessien hierarkia Jokaisella prosessilla on numero (process ID, pid) Jokaisella prosessilla on

Lisätiedot

C-ohjelmoinnin peruskurssi. Pasi Sarolahti

C-ohjelmoinnin peruskurssi. Pasi Sarolahti C! C-ohjelmoinnin peruskurssi Pasi Sarolahti 20.6.2016 Mikä C? 2 Kurssin tavoitteet C-kielen perusteiden hallinta, mm. Perusrakenteet, tietotyypit ja syntaksi Osoittimet Muistinhallinta Bittien käsittely

Lisätiedot

Johdatus ohjelmointiin

Johdatus ohjelmointiin Johdatus ohjelmointiin EXAM tentin liitetiedostojen lataaminen, käyttäminen ja palauttaminen Kerro mahdolliset puutteet tai parannusehdotukset: pietari.heino@tut.fi Tällä sivulla on selitetty lyhyesti

Lisätiedot

Poista tietokoneessasi olevat Javat ja asenna uusin Java-ohjelma

Poista tietokoneessasi olevat Javat ja asenna uusin Java-ohjelma Poista tietokoneessasi olevat Javat ja asenna uusin Java-ohjelma Jos käytät verkkopankkia kotikoneeltasi, toimi tämän ohjeen mukaan. Jos käytät verkkopankkia työpaikkasi tietokoneelta, anna tämä ohje työpaikan

Lisätiedot

Ohjelmoinnin perusteet, syksy 2006

Ohjelmoinnin perusteet, syksy 2006 Ohjelmoinnin perusteet, syksy 2006 Esimerkkivastaukset 1. harjoituksiin. Alkuperäiset esimerkkivastaukset laati Jari Suominen. Vastauksia muokkasi Jukka Stenlund. 1. Esitä seuraavan algoritmin tila jokaisen

Lisätiedot

INTERBASE 5.0 PÄIVITYS VERSIOON 5.6

INTERBASE 5.0 PÄIVITYS VERSIOON 5.6 1 INTERBASE 5.0 PÄIVITYS VERSIOON 5.6 HUOM: Tämä ohje on tarkoitettu yksittäisen koneen päivittämiseen, mikäli InterBase on asennettu serverille ota yhteys DL Software Tukeen. HUOM: Mikäli koneessasi on

Lisätiedot

Test-Driven Development

Test-Driven Development Test-Driven Development Ohjelmistotuotanto syksy 2006 Jyväskylän yliopisto Test-Driven Development Testilähtöinen ohjelmistojen kehitystapa. Tehdään ensin testi, sitten vasta koodi. Tarkoituksena ei ole

Lisätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne

Lisätiedot

Mathcad Flexnet lisenssipalvelimen asennus

Mathcad Flexnet lisenssipalvelimen asennus Mathcad Flexnet lisenssipalvelimen asennus Korjattu 13.01.01 Tärkeää: Ennen lisenssin hakemista tulee luoda PTC tili. Tästä on erillinen ohje, jonka on joko tullut tämän dokumentin yhteydessä tai sen saa

Lisätiedot

AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin

AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin Raimo Nikkilä Aalto-yliopiston sähkötekniikan korkeakoulu - Automaation tietotekniikan tutkimusryhmä 17. tammikuuta 2013

Lisätiedot

TeleWell TW-LTE/4G/3G USB -modeemi Cat 4 150/50 Mbps

TeleWell TW-LTE/4G/3G USB -modeemi Cat 4 150/50 Mbps TeleWell TW-LTE/4G/3G USB -modeemi Cat 4 150/50 Mbps Pikaohje Laite toimii Windows XP SP3, Windows 7,8,10 ja Mac OSx 10.5 tai käyttöjärjestelmissä, Linux tuki netistä ladattavilla ajureilla USB portin

Lisätiedot

Käännös, linkitys ja lataus

Käännös, linkitys ja lataus Luento 10 (verkkoluento 10) Käännös, linkitys ja lataus Ohjelmasta prosessiin Käännösyksikkö Kääntämisen vaiheet Makrot, literaalit Staattinen ja dynaaminen linkitys Nimien sidonta Lausekielestä suoritukseen

Lisätiedot

PRINCIPLES OF PROGRAMMING LANGUAGES - DEBUGGER

PRINCIPLES OF PROGRAMMING LANGUAGES - DEBUGGER PRINCIPLES OF PROGRAMMING LANGUAGES - DEBUGGER Group 16 Ville Laatu Henri Myllyoja - i SISÄLLYSLUETTELO 1. DEBUGGERI YLEISESTI... II 1.1 Debuggerin käyttämien... ii 1.2 Debuggerin käynnistäminen... ii

Lisätiedot

Ohjelmointi 1. Kumppanit

Ohjelmointi 1. Kumppanit Ohjelmointi 1 Kumppanit November 20, 2012 2 Contents 1 Mitä ohjelmointi on 7 2 Ensimmäinen C#-ohjelma 9 2.1 Ohjelman kirjoittaminen......................... 9 A Liite 11 3 4 CONTENTS Esipuhe Esipuhe 5

Lisätiedot

TALLENNETAAN MUISTITIKULLE JA MUISTIKORTILLE

TALLENNETAAN MUISTITIKULLE JA MUISTIKORTILLE TALLENNETAAN MUISTITIKULLE JA MUISTIKORTILLE HERVANNAN KIRJASTON TIETOTORI Insinöörinkatu 38 33720 Tampere 040 800 7805 tietotori.hervanta@tampere.fi TALLENNETAAN MUISTIKULLE JA MUISTIKORTILLE 1 Muistitikun

Lisätiedot

C-ohjelmoinnin peruskurssi. Pasi Sarolahti

C-ohjelmoinnin peruskurssi. Pasi Sarolahti C! C-ohjelmoinnin peruskurssi Pasi Sarolahti 11.1.2018 Palautteita Tällä kierroksella oli erittäin hyviä ja valaisevia tehtäviä. Hyvä ensimmäinen kierros. Ympäristön valmisteleminen vaatii aikaa ja vaivaa.

Lisätiedot

Kääntäjän virheilmoituksia

Kääntäjän virheilmoituksia OHJ-1101 Ohjelmointi 1e 2008-09 1 Kääntäjän virheilmoituksia Kun progvh2 ohjelma käännetään antaa tutg++ seuraavat virheilmoitukset ja varoitukset: proffa> tutg++ progvh2.cc progvh2.cc:29:13: warning:

Lisätiedot

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka. Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka. Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012 KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012 SISÄLLYS 1 JOHDANTO 3 2 WWW-PALVELIMEN TOIMINTA 4 3 OMINAISUUDET

Lisätiedot

KUVANKÄSITTELY THE GIMP FOR WINDOWS OHJELMASSA

KUVANKÄSITTELY THE GIMP FOR WINDOWS OHJELMASSA KUVANKÄSITTELY THE GIMP FOR WINDOWS OHJELMASSA Ohjeistuksessa käydään läpi kuvan koon ja kuvan kankaan koon muuntaminen esimerkin avulla. Ohjeistus on laadittu auttamaan kuvien muokkaamista kuvakommunikaatiota

Lisätiedot

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9. Python linkit: Python tutoriaali: http://docs.python.org/2/tutorial/ Numpy&Scipy ohjeet: http://docs.scipy.org/doc/ Matlabin alkeet (Pääasiassa Deni Seitzin tekstiä) Matriisit ovat matlabin perustietotyyppejä.

Lisätiedot

Hieman linkkejä: http://cs.stadia.fi/~kuivanen/linux/kom.php, lyhyt ohje komentoriviohjelmointiin.

Hieman linkkejä: http://cs.stadia.fi/~kuivanen/linux/kom.php, lyhyt ohje komentoriviohjelmointiin. Linux-harjoitus 9 Linuxin mukana tulevat komentotulkit (mm. bash, tcsh, ksh, jne ) sisältävät ohjelmointikielen, joka on varsin tehokas ja ilmaisuvoimainen. Tähän yhdistettynä unix-maailmasta tutut tehokkaat

Lisätiedot

Octave-opas. Mikä on Octave ja miksi? Asennus

Octave-opas. Mikä on Octave ja miksi? Asennus Octave-opas Mikä on Octave ja miksi? Asennus Käynnistys ja käyttöliittymä Komennot tiedostojen hallintaan SciTE-editor.m-tiedostot Ohjeita muualla Mikä on Octave ja miksi? Octave on numeeriseen laskentaan

Lisätiedot

OHJE Jos Kelaimeen kirjautuminen ei onnistu Mac-koneella Sisällys

OHJE Jos Kelaimeen kirjautuminen ei onnistu Mac-koneella Sisällys Sisällys 1 Varmista, että DigiSign-kortinlukijaohjelmisto on käynnissä 2 1.1 DigiSign-kuvake 2 1.2 Sovelluksen käynnistäminen 2 1.3 Kortin toiminnan varmistaminen 4 2 Jos käytät selaimena Mozilla, Firefox

Lisätiedot

Ohjelmointi 1 / syksy /20: IDE

Ohjelmointi 1 / syksy /20: IDE Ohjelmointi 1 / syksy 2007 10/20: IDE Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/8 Tämän luennon rakenne

Lisätiedot

FOTONETTI BOOK CREATOR

FOTONETTI BOOK CREATOR F O T O N E T T I O Y FOTONETTI BOOK CREATOR 6 2012 Kemintie 6 95420 Tornio puhelin: 050-555 6500 pro/kirja: 050-555 6580 www.fotonetti.fi Ohjelman asentaminen 1 Hae ohjelma koneellesi osoitteesta http://www.fotonetti.fi/kuvakirjatilaa

Lisätiedot

ArcGIS Pro -ohjelmiston käyttöönotto. Ohje /

ArcGIS Pro -ohjelmiston käyttöönotto. Ohje / ArcGIS Pro -ohjelmiston käyttöönotto Ohje / 9.10.2015 2 (10) Sisältö 1. ArcGIS Pro:n lataaminen, asennuspaketin purkaminen ja asentaminen... 3 ArcGIS Pro:n lataaminen My Esri -palvelusta... 3 Asennuspaketin

Lisätiedot

TTY TKT-1110 Mikroprosessorit TKT. HEW-ohjeet ver 1.0

TTY TKT-1110 Mikroprosessorit TKT. HEW-ohjeet ver 1.0 Johdanto Nämä ohjeet opastavat sinut tekemään kurssiin TKT-1110 Mikroprosessorit liittyvät harjoitustyöt. Ohjeet sisältävät kolme osiota. Ensimmäisenä esitellään projektin luonti, mikä tehdään ainoastaan

Lisätiedot

Toimi näin, jos et pääse verkkopankkiin Mozilla Firefox-selaimella

Toimi näin, jos et pääse verkkopankkiin Mozilla Firefox-selaimella Toimi näin, jos et pääse verkkopankkiin Mozilla Firefox-selaimella Jos käytät verkkopankkia kotikoneeltasi, toimi tämän ohjeen mukaan. Jos käytät verkkopankkia työpaikkasi tietokoneelta, anna tämä ohje

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 6 Vastaukset Harjoituksen aiheena on funktionaalinen ohjelmointi Scheme- ja Haskell-kielillä. Voit suorittaa ohjelmat osoitteessa https://ideone.com/

Lisätiedot

Merkkijono määritellään kuten muutkin taulukot, mutta tilaa on varattava yksi ylimääräinen paikka lopetusmerkille:

Merkkijono määritellään kuten muutkin taulukot, mutta tilaa on varattava yksi ylimääräinen paikka lopetusmerkille: Merkkijonot C-kielessä merkkijono on taulukko, jonka alkiot ovat char -tyyppiä. Taulukon viimeiseksi merkiksi tulee merkki '\0', joka ilmaisee merkkijonon loppumisen. Merkkijono määritellään kuten muutkin

Lisätiedot

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen Pedacode Pikaopas Java-kehitysympäristön pystyttäminen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Windowstyöasemalle asennetaan Java-ohjelmoinnissa tarvittavat työkalut, minkälaisia konfigurointeja

Lisätiedot

MALWAREBYTES ANTI-MALWARE

MALWAREBYTES ANTI-MALWARE MALWAREBYTES ANTI-MALWARE SAMPOLAN KIRJASTO TIETOTORI Sammonkatu 2 33540 Tampere 040 800 7816 tietotori.sampola@tampere.fi MALWAREBYTES ANTI-MALWARE 2 MALWAREBYTES ANTI-MALWARE HAITTAOHJELMIEN VALVONTA-

Lisätiedot

Osa. Listaus 2.1. HELLO.CPP esittelee C++ -ohjelman osat. 14: #include <iostream.h> 15: 16: int main() 17: {

Osa. Listaus 2.1. HELLO.CPP esittelee C++ -ohjelman osat. 14: #include <iostream.h> 15: 16: int main() 17: { Osa I 2. oppitunti C++-ohjelman osat Ennen kuin menemme yksityiskohtaisemmin sisälle C++-luokkiin, -muuttujiin jne, katsokaamme ensin, millaisista osista C++-ohjelma koostuu. Tämän tunnin aikana opit seuraavat

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 25.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 25.2.2009 1 / 34 Syötteessä useita lukuja samalla rivillä Seuraavassa esimerkissä käyttäjä antaa useita lukuja samalla

Lisätiedot

FTP -AINEISTOSIIRRON OHJE PC / MAC Ympäristö

FTP -AINEISTOSIIRRON OHJE PC / MAC Ympäristö FTP -AINEISTOSIIRRON OHJE PC / MAC Ympäristö Versio 1.0 Tiedostonsiirto FTP -menetelmällä Lahden Väriasemoinnilla on käytössä suurempien tiedostojen siirtoa varten oma FTP -yhteys. Tällä menetelmällä saadaan

Lisätiedot

Valppaan asennus- ja käyttöohje

Valppaan asennus- ja käyttöohje Versio Päiväys Muokkaaja Kuvaus 0.9 16.2.2006 Tuukka Laakso Korjattu versio 0.1 Antti Kettunen Alustava versio Sisällysluettelo 1 Johdanto...2 2 Valppaan asennus...3 2.1 Valppaan kääntäminen...3 2.2 Valmiiksi

Lisätiedot

Qt perusteet. Juha-Matti Vanhatupa. (vanhan kurssin Graafisen käyttöliittymän ohjelmointi materiaalia)

Qt perusteet. Juha-Matti Vanhatupa. (vanhan kurssin Graafisen käyttöliittymän ohjelmointi materiaalia) Qt perusteet Juha-Matti Vanhatupa (vanhan kurssin Graafisen käyttöliittymän ohjelmointi materiaalia) Sisältö Käännösprosessi MetaObjectSystem Hyödyt Qt:n moduulit Qt käyttöliittymän muistinhallinta Debug-tulosteet

Lisätiedot

TIE-20200 Ohjelmistojen suunnittelu

TIE-20200 Ohjelmistojen suunnittelu TIE-20200 Ohjelmistojen suunnittelu Luento 9: Kirjastot, pluginit jne. TIE-20200 Samuel Lahtinen 1 Ajankohtaista Viikkoharjoituksissa kirjastojen käyttöä & toteuttamista Kurkkaaminen viime viikon viikkoharkkajuttuihin

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 17.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 17.2.2010 1 / 41 Sanakirja Monissa sovelluksissa on tallennettava rakenteeseen avain arvo-pareja. Myöhemmin rakenteesta

Lisätiedot

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset Harjoituksen aiheena ovat aliohjelmat ja abstraktit tietotyypit sekä olio-ohjelmointi. Tehtävät tehdään C-, C++- ja Java-kielillä.

Lisätiedot

Eclipse ja JUnit-ohjelmoijatestit

Eclipse ja JUnit-ohjelmoijatestit Eclipse ja JUnit-ohjelmoijatestit Tarkoitus on tutustua Eclipsen käyttöön vähän lähemmin ja varsinkin JUnit-ohjelmoijatesteihin (ohjelmoijatesti on vanhalta nimeltä yksikkötesti). Ohjelmoijatestit ovat

Lisätiedot

Asennuksessa kannattaa käyttää asennusohjelman tarjoamia oletusarvoja.

Asennuksessa kannattaa käyttää asennusohjelman tarjoamia oletusarvoja. 1 1 Tivax Laskutus 4.5 1.1 Tivax ohjelman asentaminen TivaxLaskutus version 4.5 asentamiseksi on oltava asennus CD. Asennusohjelma käynnistetään tuplaklikkamalla asennus CD:llä olevaa Tivax45LaskuSetup.exe

Lisätiedot

MOODLE-OHJE: Liitetiedoston lisääminen ja päivittäminen

MOODLE-OHJE: Liitetiedoston lisääminen ja päivittäminen etusivulta yläoikealta. Kirjauduttuasi sisään SAMK Moodleen, mene omalle opintojaksollesi ja siirry muokkaustilaan. Muokkaustila päälle painike löytyy opintojakson Kun muokkaustila on päällä, siirry sen

Lisätiedot

12. Näppäimistöltä lukeminen 12.1

12. Näppäimistöltä lukeminen 12.1 12. Näppäimistöltä lukeminen 12.1 Sisällys Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit.

Lisätiedot

ITKA203 Käyttöjärjestelmät, kesä Kesäkurssi Opettaja: Paavo Nieminen

ITKA203 Käyttöjärjestelmät, kesä Kesäkurssi Opettaja: Paavo Nieminen Kesäkurssi 22.5.-27.7.2007 Opettaja: Paavo Nieminen Luento 3 24.5.2007 Ohjelmointi ja ohjelmointikieli suoritus ja konekieli Aiheet: Pääteyhteys ja interaktiivisen shellin käytön idea;

Lisätiedot

Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö C-ohjelmassa

Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö C-ohjelmassa ssa ohjelman käytössä suoritusaikana oleva muisti jakautuu neljään osaan: koodisegmentti datasegmentti pinosegmentti (stack) kasa (heap) ssa ohjelman koodisegmentti sisältää käännetyn ohjelmakoodin sisältö

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 2 vastaukset Harjoituksen aiheena on BNF-merkinnän käyttö ja yhteys rekursiivisesti etenevään jäsentäjään. Tehtävä 1. Mitkä ilmaukset seuraava

Lisätiedot

Luento 1 (verkkoluento 1) Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus

Luento 1 (verkkoluento 1) Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus Luento 1 (verkkoluento 1) Tietokonejärjestelmä Järjestelmän e eri tasot Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus 1 Tietokone- järjestelmäj ä Käyttäjä Tietokonelaitteisto Oheislaitteet

Lisätiedot