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
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
Vastaukset 12
Vanhimmat
g tai jos ei löydy niin gcc
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.
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.
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.
Joo mutta kun Debianissa ne on erotettu, usko nyt jo.
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.
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
Kiitos
Olisi heti pitänyt kysyä, kun ei kääntynyt esimerkkit kirjasta.