Kirjoittaja Aihe: Linux ja ohjelmointi  (Luettu 3596 kertaa)

silli

  • Käyttäjä
  • Viestejä: 22
    • Profiili
Linux ja ohjelmointi
« : 01.10.08 - klo:21.12 »
Jeps, eli olen vähän vajaa puoli vuotta koodannut C++ -koodia, lähinnä windowsille. En todellakaan ole hyvä ohjelmoija, mutta sen verran, että perusasiat sujuu.

Aika shokkina tuli tuo Linuxin komentorivikääntäminen mutta sekin alkaa jo sujua.

Eniten minua pelottaa mitä kirjastoja nyt tarvitsen, C ja C++ vakiokirjastoilla kun ei pitkälle pötkitä.

Olen aika tottunut WinAPIn suht. hyvään dokumentointiin funktioiden osalta, joten pelokseni huomasin että Linuxilla ei taida liiemmin tälläistä omaa rajapintaa olla, vaan pitää käyttää kolmannen osapuolen kirjastoja. Näitä sitten on monenlaisia.

Mikä olisi sellainen helposti projektiin lisättävä, aloittelijalle sopiva kirjasto? Lähinnä juuri, että voisi jtn messageboxeja loihtia, tunnistaako painettiinko näppäintä ja vaikkapa saada joku helpohko ikkuna aikaiseksi?

« Viimeksi muokattu: 01.10.08 - klo:21.36 kirjoittanut silli »

Masse

  • Käyttäjä
  • Viestejä: 38
    • Profiili
Vs: Linux ja ohjelmointi
« Vastaus #1 : 01.10.08 - klo:21.37 »
Juuri tänään kävin cprogramming sivustoa läpi. Lisääpä includen jälkeen 'using namespace std;'

silli

  • Käyttäjä
  • Viestejä: 22
    • Profiili
Vs: Linux ja ohjelmointi
« Vastaus #2 : 01.10.08 - klo:21.38 »
Heh, kerkesin jo edittaa sen pois, tajusin sen pari min sen jälkeen kun olin siitä lisännyt. Hävettää nimittäin miten saatoin unohtaa noin yksinkertaisen jutun  ;)

Sonobana

  • Käyttäjä
  • Viestejä: 10
    • Profiili
Vs: Linux ja ohjelmointi
« Vastaus #3 : 08.10.08 - klo:10.50 »
g++:n maken ja ties minkä opettelu voi olla hyödyllistä, mutta ei pakollista. Kannattaa tutustua kehitysympäristöihin eli IDE:ihin.

Itse käytän eclipseä, joka alunperin ainakin tarkoitettu javan koodaamiseen, mutta saa todella näppärän c++ kehitysympäristön asentamalla siihen tarkoitetun pluginin.

http://fi.wikipedia.org/wiki/Eclipse_(IDE)

http://www.ibm.com/developerworks/opensource/library/os-eclipse-stlcdt/ <- Skippaa Windows-härdellit alusta
http://packages.ubuntu.com/hardy/eclipse-cdt

Pellervo Kässi

  • Käyttäjä
  • Viestejä: 191
    • Profiili
Vs: Linux ja ohjelmointi
« Vastaus #4 : 08.10.08 - klo:11.39 »
Linux-maailmassahan voi valita gui-ohjelmoinnin kannalta kahden suuren vaihtoehdon väliltä (on niitä pienempiäkin): Qt- johon KDE perustuu ja Gtk+-jonka päälle on rakennettu mm. Gnome ja xfce. Qt:lle on olemassa ilmeisesti ihan pätevä kehitysympäristö (Kdevelopment? en ole itse käyttänyt). Yksi vaihtoehtoinen Gtk-ide on Anjuta, helpottaa mukavasti kääntämisprosessia, itse en tosin ole tuolle lämmennyt.

Kun kysyt C++-ohjelmointiin ohjeita, niin Gtk:n kanssa pelaaminen ei onnistu ihan suoraan (Gtk on tehty C:lle), vaan siihen on olemassa oikeastaan kaksi yleisesti käytettyä vaihtoehtoa: Guin tekeminen Gladella sen sisällyttäminen omaan ohjelmaan käyttäen libgladea. Toinen vaihtoehto on käyttää gtkmm:ää, jolla voidaan kirjoittaa gui-elementit suoraan koodina.

Kaikki mainitsemani ohjelmat löytyvät pakettienhallinnasta.
Tässä vielä linkki gtkmm:n sivuille: http://www.gtkmm.org/ sieltä löytyy kattava tutoriaali ja esimerkit lisäksi lähdekooditiedostoina.

Sonobana

  • Käyttäjä
  • Viestejä: 10
    • Profiili
Vs: Linux ja ohjelmointi
« Vastaus #5 : 08.10.08 - klo:11.46 »
Linux-maailmassahan voi valita gui-ohjelmoinnin kannalta kahden suuren vaihtoehdon väliltä (on niitä pienempiäkin): Qt- johon KDE perustuu ja Gtk+-jonka päälle on rakennettu mm. Gnome ja xfce. Qt:lle on olemassa ilmeisesti ihan pätevä kehitysympäristö (Kdevelopment? en ole itse käyttänyt). Yksi vaihtoehtoinen Gtk-ide on Anjuta, helpottaa mukavasti kääntämisprosessia, itse en tosin ole tuolle lämmennyt.

Kun kysyt C++-ohjelmointiin ohjeita, niin Gtk:n kanssa pelaaminen ei onnistu ihan suoraan (Gtk on tehty C:lle), vaan siihen on olemassa oikeastaan kaksi yleisesti käytettyä vaihtoehtoa: Guin tekeminen Gladella sen sisällyttäminen omaan ohjelmaan käyttäen libgladea. Toinen vaihtoehto on käyttää gtkmm:ää, jolla voidaan kirjoittaa gui-elementit suoraan koodina.

Kaikki mainitsemani ohjelmat löytyvät pakettienhallinnasta.
Tässä vielä linkki gtkmm:n sivuille: http://www.gtkmm.org/ sieltä löytyy kattava tutoriaali ja esimerkit lisäksi lähdekooditiedostoina.

Gui-ohjelmien koodaaminen on mielestäni jo aika haastavaa, joten perusteet kannattaa osata ennenkuin ryntää sille puolen. Toisaalta eihän kukaan seppä syntyessään.

janne

  • Käyttäjä
  • Viestejä: 5150
    • Profiili
Vs: Linux ja ohjelmointi
« Vastaus #6 : 08.10.08 - klo:22.34 »
Gui-ohjelmien koodaaminen on mielestäni jo aika haastavaa, joten perusteet kannattaa osata ennenkuin ryntää sille puolen.

GUI:n koodaaminen Qt:lla tai GTK+:lla (ehkä jopa libgladen avulla) on oikeasti lasten leikkiä verrattuna GUI-softan kirjoittamiseen käyttäen Win32APIa. jos tapahtumapohjaista ohjelmointia haluaa jostain syystä harjoittaa ilman GUI:ta, niin sekin toki em. kirjastoilla onnistuu (tai GTK:n tapauksessa tarvitaan vain glib). silti, koska GUI:n luominen on mm. noilla kirjastoilla niin triviaalia, niin en näe sellaisen kanssa leikkimiseen mitään estettä.

Qt:lle on olemassa aika hyvä dokumentaatio ja GTK+:n dokumentaatiokin on enimmäkseen kelvollinen (jotain dokumentoimattomia juttuja siellä on, mutta niihin ei kyllä ihan alussa törmää). gnome/GTK+ -puolella hyvä työkalu dokumentaation lukemiseen on softa nimeltä devhelp ja dokkareita siihen saa asentamalla kirjastojen -doc -paketteja ;)
Janne