Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: 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.
-
Molempia voi käyttää.
-
Molempia voi käyttää.
.cpp on ainakin omien kokemusteni mukaan kuitenkin paljon yleisempi.
-
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 ;)
-
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.
-
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
?
-
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.
-
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:
g++ tiedosto.cpp -o tiedosto
Eli 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.
-
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.
-
Kiitoksia, pitää kokeilla, mutta komentotulkki kyllä itkee sitä "g++" -kometoa, ei kuulemma ole olemassa, en huomannut mainita sitä aiemmin.
-
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.
-
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.
-
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.