C++ debian

Hei pitäis alkaa opettelemaan C :lla ohjemoimista.

Onko kokemusta jollain uuteen debianiin.
Tiedän, että netti on pullollaan ja sen takia kyselenkin, josko parasta löytyisi.
Suoraan aptitudella etsi komento ei anna yhtään tai en tiedä ohjelman nimeä.

Kiitos
12658
Äänestä

Muut lukivat myös

Vastaukset 12

Vanhimmat

g tai jos ei löydy niin gcc

Äänestä
  • G on C kääntäjä ja gcc on C-kääntäjä.

    Äänestä

  • miksuh. kirjoitti:

    G on C kääntäjä ja gcc on C-kääntäjä.

    gcc on gnu compiler collection johon kuuluu yleensä sekä gcc (c-kääntäjä) että g (c -kääntäjä), mutta joskus gcc:n nimellä kaupitellaan pelkkää kääntäjää jolloin g täytyy asentaa erikseen.

    Äänestä

  • kiksu. kirjoitti:

    gcc on gnu compiler collection johon kuuluu yleensä sekä gcc (c-kääntäjä) että g (c -kääntäjä), mutta joskus gcc:n nimellä kaupitellaan pelkkää kääntäjää jolloin g täytyy asentaa erikseen.

    No eh. Turhanpäivästä pilkun viilausta.

    Jos sä alat kääntämään koodia, niin gcc ON se, millä käännetän c-koodi ja g se millä käännetään c koodi. Juuri niin minä sanoin ja sehän se nyt kai tässä oli se tärkein tieto?

    Debianissa gcc-paketissa on vain gcc c-kääntäjä ja g -paketissa on g c -kääntäjä.

    Äänestä

  • miksuh. kirjoitti:

    No eh. Turhanpäivästä pilkun viilausta.

    Jos sä alat kääntämään koodia, niin gcc ON se, millä käännetän c-koodi ja g se millä käännetään c koodi. Juuri niin minä sanoin ja sehän se nyt kai tässä oli se tärkein tieto?

    Debianissa gcc-paketissa on vain gcc c-kääntäjä ja g -paketissa on g c -kääntäjä.

    Pointti oli siis se, että on ihan turha yrittää kääntää sitä c -koodia näin:

    gcc -o foobar foobar.cpp

    Se ei noin käänny, koska tuollon käytetään c-kääntäjää. oikea tapa on tehdä näin:

    g -o foobar foobar.cpp

    Nyt koodin kääntöön käytetään c -kääntäjää.

    On siis ihan harhaanjohtavaa sanoa alottelijalle, että käytä vaihtoehtosesti gcc:tä, jos g :aa ei ole. Tuollainen ohje johtaa vaan hämmennykseen kun koodi ei käännykään.

    Äänestä

  • miksuh. kirjoitti:

    Pointti oli siis se, että on ihan turha yrittää kääntää sitä c -koodia näin:

    gcc -o foobar foobar.cpp

    Se ei noin käänny, koska tuollon käytetään c-kääntäjää. oikea tapa on tehdä näin:

    g -o foobar foobar.cpp

    Nyt koodin kääntöön käytetään c -kääntäjää.

    On siis ihan harhaanjohtavaa sanoa alottelijalle, että käytä vaihtoehtosesti gcc:tä, jos g :aa ei ole. Tuollainen ohje johtaa vaan hämmennykseen kun koodi ei käännykään.

    neuvoin aloittajaa asentamaan paketinhallinnasta gcc:n jos siellä ei ole g :aa. Debianin paketinhallinta ei minulle ole niin tuttu joten en tiennyt onko siellä eroteltu gcc:sta kääntäjät erikseen.

    Äänestä

  • kiksu. kirjoitti:

    neuvoin aloittajaa asentamaan paketinhallinnasta gcc:n jos siellä ei ole g :aa. Debianin paketinhallinta ei minulle ole niin tuttu joten en tiennyt onko siellä eroteltu gcc:sta kääntäjät erikseen.

    että jos paketinhallinnasta ei löydy g :aa niin se on gcc paketissa.

    Äänestä

  • kiksu. kirjoitti:

    että jos paketinhallinnasta ei löydy g :aa niin se on gcc paketissa.

    Joo mutta kun Debianissa ne on erotettu, usko nyt jo.

    Äänestä

  • miksuh. kirjoitti:

    Joo mutta kun Debianissa ne on erotettu, usko nyt jo.

    Ymmärsin että sinä et ymmärtänyt pointtiani, sitä selitin.

    Äänestä

  • kiksu. kirjoitti:

    Ymmärsin että sinä et ymmärtänyt pointtiani, sitä selitin.

    Edelleenkin ihan turhanpäivästä pilkunviilausta, tuntuu kuin oikeen hakemalla hakisit kinaamista.

    Kyse oli nyt jokatapauksessa debianista eikä jostain muusta jakelusta, jossa pakettien nimet voi olla toisin tai joitakin debianissa erotettuja paketteja yhdistetty.

    Äänestä

Asenna aivan ekana paketti build-essential, se asentaa mm. c kääntäjän. Eli tee näin:

# apt-get install build-essential

Nyt jos sulla on lähdekooditiedosto foobar.cpp, voit kääntää sen komentoriviltä näin:

g -o foobar foobar.cpp

Huomaa, että kääntäjänä on g . C-ohjelmia käännettäessä kääntäjänä olisi gcc. Käännöksen tuloksena syntyy ajettava ohjelma foobar ja voit ajaa sen näin: ./foobar tai vain foobar, jos hakemisto on hakupolussa.

Yksinkertaisimmillaan sä et siis tarvitse mitään muuta kuin tekstieditorin, jolla kirjotat koodit. Käännökset tapahtuu sitten komentoriviltä. Mitä todennäköisimmin sä kuitenkin mieluummin koodailet käyttämällä graafista kehitysympäristöä. Etenkin suurempien ohjelmien kohdalla se helpottaa paljon. Yksi esimerkki hyvästä IDE:stä (integrated development environment) on Anjuta (Jos käytät KDE-työpöytää, saatat haluta asentaa ennemmin esim. KDevelop:n). Anjuta löytyy Debianin virallisesta reposta ja sen voi asentaa näin:

# apt-get install anjuta

Tässä nyt joitakin hyödyllisiä paketteja

# apt-get install build-essential
# apt-get install anjuta
# apt-get install devhelp
# apt-get install automake
# apt-get install autoconf
# apt-get install autogen
# apt-get install libtool

Aluksi sun ei tarvitse näistä väluittää, mutta kunhan pääset pidemmälle ja alat jotain isompia ohjelmia tekemään, niin riippuen sitten siitä mitä haluat tehdä voit asentaa esim Synapticilla softakehityspaketteja eri kirjastoille. Softakehityspakettien nimi loppuu tyypillisesti "-dev":n. tietenkin tarvitset sitten myös kehityspakettia vastaavan kirjaston, jonka paketin nimessä ei ole -deva. Eli esim:

libfoobar - itse kirjasto
libfoobar-dev - kirjaston softakehityspaketti

Äänestä
  • Kiitos
    Olisi heti pitänyt kysyä, kun ei kääntynyt esimerkkit kirjasta.

    Äänestä

Kommentoi aloitusta


linux-pepe kirjoitti:

Hei pitäis alkaa opettelemaan C :lla ohjemoimista.

Onko kokemusta jollain uuteen debianiin.
Tiedän, että netti on pullollaan ja sen takia kyselenkin, josko parasta löytyisi.
Suoraan aptitudella etsi komento ei anna yhtään tai en tiedä ohjelman nimeä.

Kiitos

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu