GNU- ohjelmointityökalut Samppa Rönkä OH2. GNU ? GNU (GNU's Not Unix) on ohjelmoija Richard Stallmanin vuonna 1983 käynnistämä projekti, jonka tavoitteena.

Slides:



Advertisements
Samankaltaiset esitykset
Tietokannat: MySQL ja PostgreSQL. Yleistä • Relaatiotietokantaohjelmisto, jolla voidaan luoda, ylläpitää ja muuttaa ja hallinnoida tietokantoja • Avoin.
Advertisements

Tietokoneen käyttöjärjestelmä
Suorita menulta voit ottaa yhteyden iSeries:iin tai katkaista yhteyden sinne ja poistua RI400:sta.
Johdatus Linuxiin Mauri Heinonen
IBM WebSphere Application Server Mediatekniikan Seminaari Mikko Matilainen.
1 Java-kieleen pohjautuvien ohjelmien käyttökohteita Ohjelmat Appletit JavaBeans JavaScript Java Server Pages (JSP) Java Servletit J2ME, mobiililaitteet.
4. Lausekielinen ohjelmointi
Linuxin rakenne ja ominaisuudet
Julkaisukielet ja - tekniikat tMyn1 Julkaisukielet ja -tekniikat •Verkko-ohjelmointi voidaan jakaa kahteen osaan: asiakaspuolen ja palvelinpuolen ohjelmointiin.
VMware workstation. VMware •Virtual Machine •Yhtiö perustettu vuonna 1998 •1999 julkaisi ensimmäisen tuotteen: VMware for workstations •2001 tuli VMware.
1. Olio-ohjelmointi.
Toimisto-ohjelmat Linuxissa
Toimisto-ohjelmat Linuxissa Atte Lukkari /OH4 Syksy 2006.
Open Source GIS Professori Ari Jolma Paikkatietotekniikan hyödyntäminen -kurssi, DIPOLI
Kaisa Tuomisto TU08S1E  Tutkimuksen tavoitteet  Käytetyt hakusanat ja osumat  Linux  Tietolähteiden vertailua  Yhteenveto  Viitteet.
CT10A KANDIDAATINTYÖ Alkuraportti Avoin rajapinta antureille WLAN -reitittimeen Mikko Pukki 2010.
CT10A KANDIDAATINTYÖ Alkuraportti Avoin rajapinta antureille WLAN - reitittimeen Mikko Pukki 2007.
UBUNTU Seminaarityö Mohammad Salar KYAMK.
Suse / OpenSuse Antti Hartikainen. Terminologiaa SUSE = Saksalainen monikansallinen yritys, asiakkaina yritykset. SUSE Linux Enterprise = SUSEn kehittämä.
OpenLab yhteistyö paikallisten yritysten kanssa - OpenLabin perustaminen - Open Source –seminaari - yhteistyömahdollisuudet muiden projektien.
Ketterä kehitys käytännössä – TFS & Meteor
Työpöytäympäristö Desktop Environment eli DE Näkyvä osa käyttöjärjestelmää – Toimii distribuutioiden päällä Sisällyttää mm. ikkunoiden, tiedostojen hallintaa,
Vaasan yliopisto Tietojenkäsittely TiTe.1020 Ohjelmat.
Ohjelmointi.
Workshop: Test-first approach Pietu Pohjalainen. Testaus perinteisesti Tarkoituksena löytää virheitä ohjelmasta mutta mikä on virhe? Sijoittuu tavallisesti.
GIMP ja muut kuvankäsittelyohjelmat
GNU-ohjelmointityökalut Jussi Raunio TI09OHJ
Tehnyt: Jaska Kauppila Ti10 TIVE.  GIMP (GNU Image Manipulation Program) on yksi suosituimpia ilmaisia kuvankäsittelyohjelmia  Sitä on käännetty usealle.
Tietokoneohjelman suoritus opintojakso Olioajattelu ja –ohjelmointi, osa I Hans Nieminen Syksy 2013.
Gentoo Linux Niina Salmi Oh5. Yleistä Línux levitysversio Gentoo alunperin kehitetty olemaan –nopea –luotettava –vakaa Kaikki sen ohjelmat asennetaan.
GNU-Ohjelmointityökalut. Tärkeimmät perustyökalut ovat: Kääntäjä (GCC) Asennusohjelma (MAKE) Virhejäljitin (GDB) GNU Binary Utilities (binutils) GNU C.
Mandrake linux Seminaarityö. Linux -Linux on vapaa Unix-tyyppinen käyttöjärjestelmä. Tavallisesti Linuxista puhuttaessa tarkoitetaan "levitysversiota"
Linuxissa pelaaminen TEEMU KOIKKALAINEN. Yleistä PC-Pelejä dominoivalla Windowsilla pyörii oikeastaan kaikki tietokonepelit. Mutta myös Linuxille on saatavilla.
5. Kapselointi Yleistä Kapseloinnilla (encapsulation) tarkoitetaan luokan tietojen ja toimintojen pakkaamista yhdeksi suojatuksi kokonaisuudeksi.
GIMP ja muut kuvankäsittelyohjelmat
WMware, Wine, Win4Lin & Bochs Voiko windows-ohjelmia käyttää Linuxissa ?
Pinon ylivuodon estäminen Mikko Toivonen & Antti Mattila.
-Linux Henri Uljas El3. Johdantoa Mandriva Linux (aikaisemmin tunnettu nimellä Mandrake Linux). Julkaistu Helppokäyttöinen, graafinen Linux. GPL-lisenssin.
Mandriva Linux eli Mandrake Linux Toni Näppi EL2.
Jaakko Markkanen & Ari Laine. Yhteisö, joka kehittää työpöytäympäristöä KDE SC (Software Compilation) Avoimen lähdekoodin ja voittoa tavoittelematon yhteisö.
Gentoo Linux Jarno Niemelä & Mika Koivistoinen. Historia Daniel Robbins aloitti kehityksen 1999 Daniel Robbins aloitti kehityksen 1999 Enoch Enoch tarkoitus.
© Jukka Juslin1 Osio2 Olio-ohjelmointi: Merkkijonot eli Stringit Jukka Juslin.
Roni Leinonen.  Nimi tulee Gentoo pingviinistä, joka on nopeiten uiva pingviinilaji  Ensimmäinen versio julkaistiin vuonna 2002  Käyttäjällä on täysi.
Vaasan yliopisto Tietojenkäsittely TiTe.1020 Avoin lähdekoodi - Open Source.
HIPARI.
VOIP &LINUX & SKYPE. VoIP Voice over Internet Protocol tekniikka jolla siirretään verkon yli reaaliaikaista ääntä ja kuvaa –internet tai lähiverkko.
Tiedostojen käsittely
Gentoo Linux Ville Syttäne EL4. Yleistä Nimi pingviinilajin mukaan Nimi pingviinilajin mukaan Metajakelupaketti Metajakelupaketti Moderni Moderni Joustava.
Merkistöstandardeista
GNOME ja KDE Jani Pesu GNOME GNOME (GNU Network Object Model Environment) on graafinen työpöytäympäristö. Käytetään Unixin kaltaisissa käyttöjärjestelmissä.
SUSE linux Sami Kiviharju OH Historiaa.
GNU-ohjelmointityökalut Panu Tertsunen & Daniel Liljeqvist.
Arkkitehtuuri prosessori esitelmä Itanium & TMS320C67x
Ja muut kuvankäsittelyohjelmat
GIMP ja muut kuvankäsittelyohjelmat A Linux -järjestelmät TI07TIVE Janne Räsänen.
UNIX Niina Hänninen TITE3 Katja Marika Savolainen TITE 2.
.NET ohjelmointi C#-kielellä RäsSe, lokakuu 2004.
Tietokantapalvelimet -Mikko Pehkonen, Tite4. Tietokantapalvelimista  DBMS (Database Management Systems)  Tarkoitettu tiedon keskitettyyn hallintaan.
Open Source Timo Nyyssönen Tietojenkäsittelytieteen historia - seminaari.
VARMUUSKOPIOINTI Näin tehdään Varmuuskopiointi Mac OS X 10.5 Leopard Serverillä, mutta varmuuskopiointi tehdään samalla tavalla myös muissa Mac OS X- käyttöjärjestelmissä,
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembler.
Harjoitustyö kurssille Mobile Application Development
GNU-ohjelmointityökalut Sami Husso
GNU-Ohjelmointityökalut
GIMP ja muut grafiikkaohjelmat
Tervetuloa kirjastoon Suomessa
Tekijä: Tommi Kesti TI15S
Riku Heino ja Milo Hakalahti
Kehitetty vuonna 1995 (Michael Widenius ja David Axmark)
4. Luokan testaus ja käyttö olion kautta
Esityksen transkriptio:

GNU- ohjelmointityökalut Samppa Rönkä OH2

GNU ? GNU (GNU's Not Unix) on ohjelmoija Richard Stallmanin vuonna 1983 käynnistämä projekti, jonka tavoitteena on kehittää täydellinen Unixin kaltainen käyttöjärjestelmä, joka on vapaa ohjelmisto: GNU-järjestelmä, joka on vapaasti käytettävissä ja muokattavissa GNU-lisenssin mukaisesti. GNU (GNU's Not Unix) on ohjelmoija Richard Stallmanin vuonna 1983 käynnistämä projekti, jonka tavoitteena on kehittää täydellinen Unixin kaltainen käyttöjärjestelmä, joka on vapaa ohjelmisto: GNU-järjestelmä, joka on vapaasti käytettävissä ja muokattavissa GNU-lisenssin mukaisesti. Nykyisin GNU-projekti toimii Free Software Foundationin alaisuudessa. Nykyisin GNU-projekti toimii Free Software Foundationin alaisuudessa.

GCC ? Richard Stallman kehitti GCC-kääntäjän vuonna 1987 GNU-projektiaan varten. Richard Stallman kehitti GCC-kääntäjän vuonna 1987 GNU-projektiaan varten. Nykyään GCC:tä kehittää sekalainen joukko ohjelmoijia ympäri maailman. Nykyään GCC:tä kehittää sekalainen joukko ohjelmoijia ympäri maailman. Käännetty useammalle suorittimelle ja käyttöjärjestelmälle kuin mitään muuta kääntäjää. Käännetty useammalle suorittimelle ja käyttöjärjestelmälle kuin mitään muuta kääntäjää. GNU-järjestelmän sekä sen Linux-pohjaisten varianttien (GNU/Linux) virallinen kääntäjä. GNU-järjestelmän sekä sen Linux-pohjaisten varianttien (GNU/Linux) virallinen kääntäjä. Käytössä lukuisissa muissa käyttöjärjestelmissä, kuten BSD:issä, Mac OS X:ssä, NeXTSTEPissä ja BeOSissa. Käytössä lukuisissa muissa käyttöjärjestelmissä, kuten BSD:issä, Mac OS X:ssä, NeXTSTEPissä ja BeOSissa.

GCC ? GCC on yleisin kääntäjävalinta kun halutaan tehdä koodia jota ajetaan monenlaisella raudalla. GCC on yleisin kääntäjävalinta kun halutaan tehdä koodia jota ajetaan monenlaisella raudalla. Sama parseri ympäristöstä riippumatta – Jos koodi kääntyy yhdessä ympäristössä, se todennäköisesti toimii kaikissa. Sama parseri ympäristöstä riippumatta – Jos koodi kääntyy yhdessä ympäristössä, se todennäköisesti toimii kaikissa. Joissain tapauksissa tuottaa hitaampia käännöksiä kuin natiivit kääntäjät. Joissain tapauksissa tuottaa hitaampia käännöksiä kuin natiivit kääntäjät. …mutta on ilmainen. …mutta on ilmainen.

Ohjelmointikielet GCC:n versio 4.1.0:n ( ) standardi julkaisu sisältää tuen seuraaville kielille: GCC:n versio 4.1.0:n ( ) standardi julkaisu sisältää tuen seuraaville kielille: - Ada (GCC for Ada aka GNAT) - C - C++ (GCC for C++ aka G++) - Fortran (GCC for Fortran aka GFortran) - Java (GCC for Java aka GCJ) - Objective-C - Objective-C++ Lisäksi saatavilla mm: Pascal, Modula-2, Modula-3, Mercury, VHDL, ja PL/I. Lisäksi saatavilla mm: Pascal, Modula-2, Modula-3, Mercury, VHDL, ja PL/I.

Arkkitehtuurit GCC tukee seuraavia suorittimia: GCC tukee seuraavia suorittimia: Alpha, ARM, Blackfin, H8/300, System/370, System/390, IA-32 (x86) & AMD64, IA-64 i.e. the "Itanium”, Motorola 68000, Motorola 88000, MIPS, PA-RISC, PDP-11, PowerPC, SuperH, SPARC, VAX, Renesas R8C/M16C/M32C families, MorphoSys family Lisäksi vähemmän tunnettuja: Lisäksi vähemmän tunnettuja: A29K, ARC, Atmel AVR, C4x, CRIS, D30V, DSP16xx, FR-30, FR-V, Intel i960, IP2000, M32R, 68HC11, MCORE, MMIX, MN10200, MN10300, NS32K, ROMP, Stormy16, V850, ja Xtensa.

Työkalut: gcc ”gcc” suorittaa joukon muita ohjelmia jotka kääntävät ohjelmakoodin ajettavaan muotoon ”gcc” suorittaa joukon muita ohjelmia jotka kääntävät ohjelmakoodin ajettavaan muotoon C-kielinen ohjelma käännetään seuraavasti: C-kielinen ohjelma käännetään seuraavasti: gcc ohjelma.c –o esi-merkki Tuloksena on ajettava tiedosto nimeltään ”esi- merkki”. Tuloksena on ajettava tiedosto nimeltään ”esi- merkki”.

Työkalut: gcc gcc käännöksen vaiheet: gcc käännöksen vaiheet: 1. Esikäsittely: cpp ”C Pre-Processor”, käsittelee #-komennot kuten #include, #macro ja #ifdef 2. Käännös: cc1 kääntää C-koodin assembleriksi 3. Optimointi: assembler-koodiin tehdään suorituskykyä parantavia muutoksia, cc1 hoitaa tämän 4. Assembler: assembler ”as” kääntää assembler-koodin objektitiedostoksi 5. Linkkeri: linkkeri kasaa objektitiedostot ja lisäkirjastot ajettavaksi tiedostoksi

Työkalut: make työkalu joka kääntää ohjelman automaattisesti työkalu joka kääntää ohjelman automaattisesti lukee Makefile-tiedostosta käännösohjeet, katsoo tiedostojen päivämääriä, ja kääntää uudelleen kaiken, mikä riippuu jostain muuttuneesta tiedostosta lukee Makefile-tiedostosta käännösohjeet, katsoo tiedostojen päivämääriä, ja kääntää uudelleen kaiken, mikä riippuu jostain muuttuneesta tiedostosta Makefilessa voi olla useita käännösvaihtoehtoja, esim. make all tai make foo.o Makefilessa voi olla useita käännösvaihtoehtoja, esim. make all tai make foo.o usein myös make clean, joka poistaa käännöksen tulokset (ajaa joukon rm-komentoja) usein myös make clean, joka poistaa käännöksen tulokset (ajaa joukon rm-komentoja) ohje: ”info make” ohje: ”info make”

Esimerkki Makefile CC = gcc CFLAGS = -Wall -g # tai esim. CFLAGS = -Wall -O2 -g LDFLAGS = LIBS = # LIBS = -lm jos tarvitaan TARGET = prog OBJS = prog.o mysort.o all:$(TARGET)clean: rm -f $(OBJS) $(TARGET) $(TARGET): $(OBJS) $(CC) $(LDFLAGS) -o $^ $(LIBS) %.o: %.c $(CC) -c $(CFLAGS) $<.PHONY: all clean

Työkalut: gdb gdb on debuggeri, jolla voi: gdb on debuggeri, jolla voi: - keskeyttää ohjelman suorituksen - tutkia muuttujien arvoja - jatkaa suoritusta esim. rivi kerrallaan - pysähtyä aina kun päästään tiettyyn kohtaan tai tietty ehto täyttyy - katsoa core-tiedostosta mihin kaatunut ohjelma jäi - tavoitteena etsiä bugeja tai katsoa, miten ohjelman suoritus etenee - gdb = GNU-projektin debuggeri (muutkin samankaltaisia, esim. Javan jdb) C-ohjelma pitää kääntää -g-optiolla (muuten saa vähemmän tietoa). C-ohjelma pitää kääntää -g-optiolla (muuten saa vähemmän tietoa). Käyttö: Käyttö: gdb ohjelma

Työkalut: diff & patch Todella kätevä tapa päivittää koodia Todella kätevä tapa päivittää koodia diff etsii eroavaisuuksia kahdesta tiedostosta diff etsii eroavaisuuksia kahdesta tiedostosta patch muokkaa tiedostoa diffin tulosteen perusteella patch muokkaa tiedostoa diffin tulosteen perusteella versionhallintatyökaluissa (kuten CVS) diff on yleensä integroituna valmiiksi versionhallintatyökaluissa (kuten CVS) diff on yleensä integroituna valmiiksi Käyttö yleensä: Käyttö yleensä: diff -u vanha-koodi.c uusi-koodi.c

Työkalut: emacs Emacs on ”kätevä” tekstieditori, jossa on paljon ohjelmointia helpottavia ominaisuuksia, kuten: Emacs on ”kätevä” tekstieditori, jossa on paljon ohjelmointia helpottavia ominaisuuksia, kuten: - avainsanojen väritys - koodin kääntö suoraan editorista - man-sivujen selaus Useimmat graafisten kehitysympäristöjen toiminnot löytyvät jossain muodossa Emacsistakin. Useimmat graafisten kehitysympäristöjen toiminnot löytyvät jossain muodossa Emacsistakin.

Kuva: emacs

Työkalut: valgrind Valgrind on ”muistinhallintadebuggeri”, joka ajaa C-ohjelman (hitaasti) ja kertoo, missä kohdissa se: Valgrind on ”muistinhallintadebuggeri”, joka ajaa C-ohjelman (hitaasti) ja kertoo, missä kohdissa se: - käytti alustamatonta muistia - kirjoitti olemattomaan paikkaan pinossa - kirjoitti muualle kuin mallocilla varatulle muistialueelle ym. mukana myös muita työkaluja, mm. cachegrind kertoo kuinka ohjelma käyttää välimuistia mukana myös muita työkaluja, mm. cachegrind kertoo kuinka ohjelma käyttää välimuistia

Muita työkaluja Autoconf auttaa hyvin porttautuvan C-koodin kääntämisessä Autoconf auttaa hyvin porttautuvan C-koodin kääntämisessä Automake on Autoconfin päälle rakennettu kokonaisvaltaisempi Makefilejen rakentaja Automake on Autoconfin päälle rakennettu kokonaisvaltaisempi Makefilejen rakentaja versionhallintaan: RCS, CVS, Subversion versionhallintaan: RCS, CVS, Subversion gprof eli ”profiler” kertoo, missä funktioissa ohjelma vietti eniten aikaa (info gprof, man gprof) gprof eli ”profiler” kertoo, missä funktioissa ohjelma vietti eniten aikaa (info gprof, man gprof)

Lähteet Sisältö lainattu enemmän tai vähemmän suoraan näistä: Sisältö lainattu enemmän tai vähemmän suoraan näistä: /gccint/index.html#Top /K2006/Luennot/unix-kalvot.pdf