Kirjoittaja Aihe: C++ Ohjelmointi  (Luettu 4377 kertaa)

selorant

  • Käyttäjä
  • Viestejä: 31
    • Profiili
C++ Ohjelmointi
« : 06.10.06 - klo:18.27 »
Olen vasta siirtynyt käyttämään Linuxia, ja tykästynyt sen verran että haluisin päästä kokonaan eroon Microsoftista. Olen tottunut käyttämään ohjelmoinnissa Microsoft Visual Studiota, ja hetken tutkittuani päätin kokeilla Anjutaa Ubuntun puolella. En kuitenkaan saanut yksinkertaistakaan "Hello world" ohjelmaa kokonaan kääntymään... tai siis ei suostunut kääntämään ja ajamaan suoraan. Valitti vain koko ajan että joku osa puuttuu... asensin osia aina pikkuhiljaa lisää virhe ilmoitusten mukaan, mutta en siltikään saanut ohjelmaa starttaaman suoraan Anjutasta. Sain koodin kuitenkin käännettyä ja ajettua komentorivin kautta.

Haluasin saada seuraaviin asioihin hiukan helppiä:
- Eli onko joku helppo tapa asentaa anjuta/tai muu kehitysympäristö jossa onnistuu C++ ohjelmointi (ja ehkä myös javakin) kaikkineen lisäosineen?
- Jos tälläista pakettia ei ole niin mitä lisäosia pitää asentaa ja pitääkö näihin asennuksiin tehdä jotain muutoksia, vai riittääkö että asentaa ihan lisää/poista kohdasta?
- Mikä projekti pitäisi valita jos ajatellaan Windows puolelta ihan yksinkertaista consoli ohjelmaa?

Asmo Koskinen

  • Käyttäjä
  • Viestejä: 4443
    • Profiili
Re: C++ Ohjelmointi
« Vastaus #1 : 06.10.06 - klo:18.48 »
- Eli onko joku helppo tapa asentaa anjuta/tai muu kehitysympäristö jossa onnistuu C++ ohjelmointi (ja ehkä myös javakin) kaikkineen lisäosineen?

Kokeile näitä:

Gnome:

glade-3 - GTK+ 2 User Interface Builder

http://glade.gnome.org/
http://glade.gnome.org/screenshots.html

sudo aptitude install anjuta glade-3

KDE:

kdevelop - An IDE for Unix/X11

http://www.kdevelop.org/
http://www.kdevelop.org/index.html?filename=3.3/screenshots1.html

sudo aptitude install kdevelop

Java:

eclipse - Extensible Tool Platform and Java IDE

http://www.eclipse.org/

sudo aptitude install eclipse

Noilla pitäisi jo päästä aika pitkälle ;-).

Ystävällisin terveisin Asmo Koskinen.
« Viimeksi muokattu: 06.10.06 - klo:18.51 kirjoittanut Asmo Koskinen »

janne

  • Käyttäjä
  • Viestejä: 5150
    • Profiili
Re: C++ Ohjelmointi
« Vastaus #2 : 06.10.06 - klo:18.56 »
Gnome:

glade-3 - GTK+ 2 User Interface Builder

dapperissa ei ole kuin glade-2, mutta toisaalta siinä on halutessaan mahdollista generoida koodia, toisin kuin glade-3:ssa. vastaava, mutta ei täysin yhteensopiva GTK+ UI-builder löytyy myös nimellä gazpacho.
Janne

selorant

  • Käyttäjä
  • Viestejä: 31
    • Profiili
Re: C++ Ohjelmointi
« Vastaus #3 : 07.10.06 - klo:01.01 »
Kiitos paljon!

Vaikka suoranaiseti ongelma ei ratkennut näillä... niin nyt on taas asiat paremmin ja linux taas hiukan tutumpi.

Olen käyttänyt nyt kolme päivää ubuntua ja linux maaílma on ennestään täysin vieras joten seuraavat saattaa olla täysin virheellistä tietoa... mutta seuraavasti sain anjutan toimaan:
- ensimmäisenä asensin http://ubuntuforums.org/showthread.php?t=271594 komentoriviltä
- seuraavana asensin ubuntun lisää poista ohjelman lisäasetuksista "gazpacho"
- Seuraavaksi asensin samasta paikasta "anjutan"

Sitten taisin kokeilla toimiiko projektit... ei toiminut joten jatkoin lisäosien asentamista virheilmoitusten mukaan:
- ensimmäisenä asensin "autoconf" ohjelman
- seuraavana "libtoolin"
- "automake"
- "libglib1.2"
- "libglib2.0-0"
- "mono-classlib"

Ja nyt kääntäminen toimisi suoraan ja halutulla tavalla kuten Visual Stuodiossa, tai kuten olen ennestään tottunut. Kiitos! Enköhän vielä joskus tutustu noihin teidänkin ehdottamiin sovelluksiin mutta tällä hetkellä ne tarjoaa liian helpon tavan edistyä... kun voi suoraan piirtää grafiikkaa!!!

Entäs miten tämä on... wintoosan puolella kirjoitettiin tiedoston alkuun "namespace std;" kun taa näissä linuxin esim. tiedostoissa on  vasta esim tulostuslauseessa ""std::cout"... eli tarvooko opetella eri tavoille???
« Viimeksi muokattu: 07.10.06 - klo:01.06 kirjoittanut selorant »

janne

  • Käyttäjä
  • Viestejä: 5150
    • Profiili
Re: C++ Ohjelmointi
« Vastaus #4 : 07.10.06 - klo:02.08 »
Ja nyt kääntäminen toimisi suoraan ja halutulla tavalla kuten Visual Stuodiossa, tai kuten olen ennestään tottunut. Kiitos!

ilmeisesti paketti jota olisit kaipaillut on nimeltään build-essential.

Enköhän vielä joskus tutustu noihin teidänkin ehdottamiin sovelluksiin mutta tällä hetkellä ne tarjoaa liian helpon tavan edistyä... kun voi suoraan piirtää grafiikkaa!!!

periaatteessa graafisen käyttöliittymän tekemisen ei välttämättä tarvitsisikaan olla tuon vaikeampaa. käyttämällä gladen/gazpachon kanssa libgladea, käyttöliittymiä on melko helppo luoda.

Entäs miten tämä on... wintoosan puolella kirjoitettiin tiedoston alkuun "namespace std;" kun taa näissä linuxin esim. tiedostoissa on  vasta esim tulostuslauseessa ""std::cout"... eli tarvooko opetella eri tavoille???

kumpikin on oikein C++ -standardin puitteissa.

windowsissa olet siis mitä ilmeisemmin tottunut kirjoittamaan tiedoston alkuun using namespace std; joka käytännössä ottaa käyttöön kaikki nimet std-nimiavaruudessa. yleensä tätä ei pidetä järin hyvänä ideana, mutta sitä käytetään yleisesti lyhyissä esimerkeissä yksinkertaisuuden vuoksi.

toinen ääripää on kertoa funktion kutsun yhteydessä missä nimiavaruudessa ne ovat, kuten tuo esimerkkinä antamasi std::cout joka on siis muotoa nimiavaruus::funktio. eri nimiavaruuksissahan voi olla saman nimisiä funktioita jotka erotetaan juuri tuon nimiavaruuden avulla.

tietyllä tavalla noiden välimuotona voisi ajatella olevan tapa esitellä funktiokohtaisesti nimiavaruus tiedoston alussa, esim. using std::cout; jonka jälkeen std-nimiavaruudessa olevaa cout-funktiota voi käyttää kirjoittamalla pelkän funktionimen cout.

kaikki tavat toimivat kaikissa käyttöjärjestelmissä jotka tarjoavat C++ -standardia edes jotenkin tukevan kääntäjän (ja yleensä ne huonomminkin standarda noudattelevat hanskaavat niinkin perusjutut kuin nimiavaruudet).
Janne

_Pete_

  • Käyttäjä
  • Viestejä: 1845
  • Fufufuuffuuu
    • Profiili
Re: C++ Ohjelmointi
« Vastaus #5 : 07.10.06 - klo:10.12 »

C/C++

SlickEdit

Javaan:

Intellij IDEA

Kaupallisia kummatkin, mutta laatu maksaa ...

Imo aluksi olisi ehkä unix maailmaan siirtyneenä hyvä oppia tekemään asiat ihan perinteisesti
eli Makefile + joku editori aka emacs :)