Mitä oppaita tai kirjoja kannattaa opiskella, kun haluaisin ryhtyä kehittämään Linux-ohjelmia? Mulla on tällä hetkellä kirjahyllyssä C primer plus ja The Developer's Guide to Debugging. Erityisesti kaipaisin tietoa, mistä saan projektien tuoreimmat lähdekoodit ja miten käännän ne joko ajettavaksi tiedostoksi tai debuggerin käyttöön. Mitkä kaikki versionhallintaohjelmat pitää opetella?
Mikä olisi hyvä ohjelmointiympäristö isoille projekteille? Joskus kokeilin Eclipseä, mutta se vaikutti raskaalta. Debuggerina ajattelin käyttää Nevimeriä, en löytänyt sille tutoriaalia.
Suosituimmat versionhallintaohjelmat taitavat olla CVS, SVN ja git. Alkuun käyttötaidoksi riittää noin kolmen komennon hallitseminen: pitää olla jonkin verran näyttöä, ennen kuin projektiin saa kirjoitusoikeudet, ja tätä ennen patcheja lähetellään postilistoille tai bugtrackeriin. Kannattaa hallita myös diff- ja patch-työkalujen käyttö, näihin (kuten kaikkeen) löytyy Googlella apua.
Itse olen pärjännyt sekä töissä että muissa hommissa (mm. SDL:ää ja Wineä tutkiessani) ihan tavallisilla tekstieditoreilla (Kate, Geany). Usein tiedostoja ei tarvitse olla auki hirmuista määrää, vaan työt kohdistuvat melko pienelle alueelle.
Käännökset tehdään pääsääntöisesti komentorivillä. Yleensä ensin ajetaan paketin skripti configure, sitten (ja jokaisen muutoksen jälkeen) ajetaan make ja ohjelma on valmis. C- ja C++-jutut käyttävät GCC:tä, ja debug-symbolit pitää laittaa -g-lipulla päälle.
Tyypillisesti homma menee suunnilleen näillä eväillä:
$ svn co http://svn.libsdl.org/branches/SDL-1.2 (haetaan projektipuu hakemistoon ./SDL-1.2; runsaasti tulostetta) $ cd SDL-1.2 $ svn up (päivitetään puu; jonkin verran tulostetta) $ ./configure --help (tuloksena sata riviä ohjeita, miten projektin asetuksiin voi vaikuttaa) $ CFLAGS="-g" CXXFLAGS="-g" ./configure --jokin-asetus-jos-tarvitset (tutkii järjestelmää ja luo Makefilen) $ make -j2 (projekti kääntyy; -j2 tarkoittaa, että tehdään käännöstä kahdessa prosessissa) $ svn diff (näyttää paikallisesti lähdekoodeihin tehdyt muutokset)
Lähdekoodien osoitteesta kerrotaan yleensä projektin sivuilla. Joillain ei ole lainkaan julkista versionhallintaa, vaan ennen kehittäjätiimiin pääsemistä pitää tyytyä purkamaan tar-paketti käsin.
Jos intoa riittää, niin SVN-palvelin on aika helppo asentaa omallekin koneelle harjoittelua (ja miksei omia projektejakin) varten.
KDevelop on KDE:n IDE, Anjuta on yksi tosi suosittu IDE GNOME:lle. Jos pelkkää tekstieditoria haluaa, on nää kaikki Katet ja Geditit ja kaikki, ja konsolipohjaisia on eri vit ja Emacsit ja kaikki lelut. nvi ja nvi-perl for the win.
Aihe on jo aika vanha, joten et voi enää vastata siihen.