Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: Toni Alenius - 20.02.07 - klo:13.04

Otsikko: Apuuva! C++:ssa *.cc vaiko *.cpp?
Kirjoitti: Toni Alenius - 20.02.07 - klo:13.04
siis C++ -kielen tiedostojen tallennusmuoto, kumpi on, eri oppaat sanoo eri asioita, siis onko esim. helloworld.cpp VAIKO helloworld.cc?

EDIT: Siis Linux -ohjelmointia alkaisin opetella, C++ on tutun oloinen, kiitos JAVAn, mutta tiedostojen muoto jäi kaivelemaan.
Otsikko: Vs: Apuuva! C++:ssa *.cc vaiko *.cpp?
Kirjoitti: Heikki Mäntysaari - 20.02.07 - klo:13.17
Molempia voi käyttää.
Otsikko: Vs: Apuuva! C++:ssa *.cc vaiko *.cpp?
Kirjoitti: tn - 20.02.07 - klo:17.05
Molempia voi käyttää.
.cpp on ainakin omien kokemusteni mukaan kuitenkin paljon yleisempi.
Otsikko: Vs: Apuuva! C++:ssa *.cc vaiko *.cpp?
Kirjoitti: janne - 20.02.07 - klo:19.11
kuten täällä onkin jo sanottu, kumpi tahansa pääte vihjaisee tiedoston sisältävän c++-koodia, mutta pilkunviilauksena sanottakoon, että tiedostomuoto on molemmissa täysin sama, ainoastaan pääte eroaa ;)
Otsikko: Apuuva! GCC 4.1.1:ssä mikä kääntökomento?
Kirjoitti: Toni Alenius - 21.02.07 - klo:08.10
kiitoksia vastauksista, nyt onkin jo isompi ongelma, kun nuo oppaiden kääntökomennot eivät toimi, opas väittää, että se olisi
g++ -c *.cpp/*.cc, mutta eipä tuo toimi, opas kivikaudelta (v. 1999) ja muissa "aloittelijan oppaissa" ei edes vaivauduta kertomaan kääntökomentoja.
Otsikko: Vs: Apuuva! GCC 4.1.1:ssä mikä kääntökomento?
Kirjoitti: _Pete_ - 21.02.07 - klo:09.17
kiitoksia vastauksista, nyt onkin jo isompi ongelma, kun nuo oppaiden kääntökomennot eivät toimi, opas väittää, että se olisi
g++ -c *.cpp/*.cc, mutta eipä tuo toimi, opas kivikaudelta (v. 1999) ja muissa "aloittelijan oppaissa" ei edes vaivauduta kertomaan kääntökomentoja.

Onko kääntökalut asennettu eli:

sudo apt-get install buid-essential

?

Otsikko: Vs: Apuuva! GCC 4.1.1:ssä mikä kääntökomento?
Kirjoitti: Toni Alenius - 21.02.07 - klo:09.59
kiitoksia vastauksista, nyt onkin jo isompi ongelma, kun nuo oppaiden kääntökomennot eivät toimi, opas väittää, että se olisi
g++ -c *.cpp/*.cc, mutta eipä tuo toimi, opas kivikaudelta (v. 1999) ja muissa "aloittelijan oppaissa" ei edes vaivauduta kertomaan kääntökomentoja.

Onko kääntökalut asennettu eli:

sudo apt-get install buid-essential

?



Käytän distroa, joka asentaa automaattisesti GCC 4.1.1:den, PCLinuxOS 2007 -niminen jakelu, KDE sama kuin edgyssä, Beryl yms. herkkuja.
Otsikko: Vs: Apuuva! C++:ssa *.cc vaiko *.cpp?
Kirjoitti: tn - 21.02.07 - klo:10.19
kiitoksia vastauksista, nyt onkin jo isompi ongelma, kun nuo oppaiden kääntökomennot eivät toimi, opas väittää, että se olisi
g++ -c *.cpp/*.cc, mutta eipä tuo toimi, opas kivikaudelta (v. 1999) ja muissa "aloittelijan oppaissa" ei edes vaivauduta kertomaan kääntökomentoja.
Noh, jos vaan yhtä tiedostoa käännät, niin se hoituu helpoiten komentamalla:
Koodia: [Valitse]
g++ tiedosto.cpp -o tiedostoEli tuossa tiedosto.cpp on käännettävä tiedosto ja tiedosto on tuloksena syntyvä suoritettava ohjelma. Tuo -o tiedosto -optio siis määrittää kohdetiedoston nimen ja jos sen jättää pois, kääntyy ohjelma a.out -nimiseksi.

Jos käytät -c -lippua kuten tuossa omassa komennossasi, ei käännöstä suoriteta valmiiksi ohjelmaksi asti, vaan pelkäksi objektitiedostoksi. Tämä (tai nämä, jos niitä on useampia) tulee sitten linkata erikseen suoritettavaksi ohjelmaksi.
Otsikko: Vs: Apuuva! GCC 4.1.1:ssä mikä kääntökomento?
Kirjoitti: mgronber - 21.02.07 - klo:10.29
kiitoksia vastauksista, nyt onkin jo isompi ongelma, kun nuo oppaiden kääntökomennot eivät toimi, opas väittää, että se olisi
g++ -c *.cpp/*.cc, mutta eipä tuo toimi, opas kivikaudelta (v. 1999) ja muissa "aloittelijan oppaissa" ei edes vaivauduta kertomaan kääntökomentoja.

Tarkennetaanpa. Kirjoititko täsmälleen noin eli "g++ -c *.cpp/*.cc"? Jos kirjoitit niin ongelma on siinä.

Alkuun pärjännet muodolla "g++ -o ohjelma *.cpp" olettaen että sinulla on lähdekooditiedostojen päätteenä ".cpp". Tuo komento siis kääntää kaikki hakemiston ".cpp"-päätteiset tiedostot ohjelmatiedostoksi nimeltä "ohjelma" ja kyseinen ohjelma voidaan suorittaa komentamalla "./ohjelma".

Jos tämä ei auttanut niin kerro virheilmoitus jonka saat kun yrität kääntää ohjelmiasi.

Käännöskomentoja ei välttämättä kerrota oppaissa koska ne ovat enemmän tai vähemmän käännösympäristöstä riippuvia.
Otsikko: Vs: Apuuva! C++:ssa *.cc vaiko *.cpp?
Kirjoitti: Toni Alenius - 21.02.07 - klo:10.44
Kiitoksia, pitää kokeilla, mutta komentotulkki kyllä itkee sitä "g++" -kometoa, ei kuulemma ole olemassa, en huomannut mainita sitä aiemmin.
Otsikko: Vs: Apuuva! C++:ssa *.cc vaiko *.cpp?
Kirjoitti: tn - 21.02.07 - klo:10.47
Alkuun pärjännet muodolla "g++ -o ohjelma *.cpp" olettaen että sinulla on lähdekooditiedostojen päätteenä ".cpp". Tuo komento siis kääntää kaikki hakemiston ".cpp"-päätteiset tiedostot ohjelmatiedostoksi nimeltä "ohjelma" ja kyseinen ohjelma voidaan suorittaa komentamalla "./ohjelma".
Jos samassa hakemistossa on useampia (eri ohjelmiin kuuluvia) .cpp -tiedostoja (kuten minulla), niin tuo kaikkien tiedostojen kääntäminen kerralla ei kyllä pelaa. Tietysti jos jaksaa vääntää jokaisen yhdestäkin tiedostosta koostuvan pikkuprojektin erilliseen kansioon, niin tuossakaan ei ole mitään vikaa.
Otsikko: Vs: Apuuva! C++:ssa *.cc vaiko *.cpp?
Kirjoitti: tn - 21.02.07 - klo:10.50
Kiitoksia, pitää kokeilla, mutta komentotulkki kyllä itkee sitä "g++" -kometoa, ei kuulemma ole olemassa, en huomannut mainita sitä aiemmin.

Käytän distroa, joka asentaa automaattisesti GCC 4.1.1:den.

Oletkos nyt täysin varma, että se kääntäjä on asennettuna? Mitä jos komennat pelkästään g++ ? Pitäisi tulla jotain tyyliin: g++: no input files.
Otsikko: Vs: Apuuva! C++:ssa *.cc vaiko *.cpp?
Kirjoitti: Toni Alenius - 21.02.07 - klo:12.02
Kyllä sen pitäisi olla asennettuna, hakemistot on, *.cpp, *.cc ja*.h -tiedostojen yhteydessä on maininnat C++:sta, tekstieditori huomauttaa virheistä yms. eikä asennettaessa kysytty haluttuja osia, vaan asennettiin kaikki mitä CD:ltä löytyi, ja distron "ravintosisällössä" mainittiin selvästi, että mukana on GCC 4.1.1 + uudistetut kirjastot.