Forum » Programiranje » [C++] Linux
[C++] Linux
D-factor ::
Pozdravljeni!
Imam en problemcek in sicer, napisal sem en programcek v Visual C++ in ko ga hocem zgcc-jat na Linuxu mi javi kup napak.
Program je:
Zanima pa me kaj morem popravit, da bom lahko normalno prevedo program na Linux sistemu...
Hvala za odg!
Imam en problemcek in sicer, napisal sem en programcek v Visual C++ in ko ga hocem zgcc-jat na Linuxu mi javi kup napak.
Program je:
#include <iostream> (OKLEPAJE sem odstranil, ker jih jemle kot html) int fib(int n) { if ((n==0) || (n==1)) return n; if (n(manjsi od)0) return fib(n-1)*fib(n-2); } int main() { int n=0; cout "Vpisi N: "; cin n; cout "N-ti clen zaporedja je: " fib(n); return 0; }
Zanima pa me kaj morem popravit, da bom lahko normalno prevedo program na Linux sistemu...
Hvala za odg!
- spremenilo: CCfly ()
BigWhale ::
Sem v enem komenatrju prej povedal, da imam kristalno kroglo na poliranju in je ta teden ne morem uporabljati. No, zato bi bil na moc vesel, ce bi dejansko povedal kaksne napake ti javi prevajalnik... ;)
D-factor ::
gcc fib.c
fib.c:1:21: error: iostream.h: No such file or directory
fib.c: In function âmainâ:
fib.c:16: error: âcoutâ undeclared (first use in this function)
fib.c:16: error: (Each undeclared identifier is reported only once
fib.c:16: error: for each function it appears in.)
fib.c:16: error: âendlâ undeclared (first use in this function)
fib.c:17: error: âcinâ undeclared (first use in this function)
fib.c:1:21: error: iostream.h: No such file or directory
fib.c: In function âmainâ:
fib.c:16: error: âcoutâ undeclared (first use in this function)
fib.c:16: error: (Each undeclared identifier is reported only once
fib.c:16: error: for each function it appears in.)
fib.c:16: error: âendlâ undeclared (first use in this function)
fib.c:17: error: âcinâ undeclared (first use in this function)
BigWhale ::
Preimenuj program iz fib.c v lala.cpp in potem prevedi z ukazom make lala. Pa cout/cin je definiran v std namespace, tako, da moras se to popraviti.
Quikee ::
Pa se funkcije za fibonaccija nimas prav...
return fib(n-1)*fib(n-2);
mora bit
return fib(n-1)+fib(n-2);
return fib(n-1)*fib(n-2);
mora bit
return fib(n-1)+fib(n-2);
balocom ::
Včasih hoče newline na konc (enter stineš za novo vrstico po zadnem } )
V svetu brez googla bi bil najbolj uporabljen ukaz v bash-u ukaz man
OwcA ::
Pa se funkcije za fibonaccija nimas prav...
Celotna funkcija je čudna:
if (n(manjsi od)0)
n ni nikoli < 0.
Otroška radovednost - gonilo napredka.
Volk| ::
Da ne bom odpiral nove teme....
Vidim da tukaj nekateri zelo dobro obvladate C++
Jaz imam v juniju izpit in bi bil vesel ce bi mi kdo pomagal.
Primer naloge ki je lahko na izpitu:
Izdelajte program za obdelavo podatkov tekmovanja v smučarskih skokih.
Tekmovalci skačejo trikrat. Sodniki vsakokrat izmerijo dolžino skoka in ocenijo tekmovalčev slog; skupna ocena tekmovanja je vsota dolžine in ocene za slog. Program naj izpiše vmesne uvrstitve in končnouvrstitev tekmovalcev, pri čemer upoštevajte le dva tekmovalčeva najboljša skoka. Pri končanem izpisu naj bodo poleg vrstnega reda razvidni tudi naslednji podatki: dolžini in oceni za slog v najboljših dveh skokih in tekmovalčeva uvrstitev po vsakem skoku.
Ce kdo zna resit take naloge naj se javi. Bo dobil lep honorar!
Hvala
Vidim da tukaj nekateri zelo dobro obvladate C++
Jaz imam v juniju izpit in bi bil vesel ce bi mi kdo pomagal.
Primer naloge ki je lahko na izpitu:
Izdelajte program za obdelavo podatkov tekmovanja v smučarskih skokih.
Tekmovalci skačejo trikrat. Sodniki vsakokrat izmerijo dolžino skoka in ocenijo tekmovalčev slog; skupna ocena tekmovanja je vsota dolžine in ocene za slog. Program naj izpiše vmesne uvrstitve in končnouvrstitev tekmovalcev, pri čemer upoštevajte le dva tekmovalčeva najboljša skoka. Pri končanem izpisu naj bodo poleg vrstnega reda razvidni tudi naslednji podatki: dolžini in oceni za slog v najboljših dveh skokih in tekmovalčeva uvrstitev po vsakem skoku.
Ce kdo zna resit take naloge naj se javi. Bo dobil lep honorar!
Hvala
sid_dabster ::
Ok, pa med drugim si pozabil namespace std uporabiti. Za cin in cout.
Fallen beyond all grace deeper and deeper
The sound of her own blood dripping
Like sacred tears from a bleeding rose...( Embraced, Within)
The sound of her own blood dripping
Like sacred tears from a bleeding rose...( Embraced, Within)
BigWhale ::
Ne, ni pozabil uporabiti namespace std! Tega se nikoli ne pozabi, takrat, ko tega ne napises, takrat delas prav! ;>
Gundolf ::
@Volk|: morda bi bil otvojo temo bolj smiselno nadaljevati tule: (C++)(Naloga) Smucarski skoki (struk. programiranje)
Čeprav sem siguren, da je bilo še nekaj skoraj identičnih tem. Očitno je zelo popularna naloga tole.
@D-factor:
> fib.c:1:21: error: iostream.h: No such file or directory
Gcc je od sedaj dalje moj najljubši prevajalnik! Končno so se znebili iostream.h (uporabi #include <iostream> namesto #include <iostream.h>)
Čeprav sem siguren, da je bilo še nekaj skoraj identičnih tem. Očitno je zelo popularna naloga tole.
@D-factor:
> fib.c:1:21: error: iostream.h: No such file or directory
Gcc je od sedaj dalje moj najljubši prevajalnik! Končno so se znebili iostream.h (uporabi #include <iostream> namesto #include <iostream.h>)
fx ::
V linuxu programe prevajam tako g++ ime_programa-verzija.cpp -o ime_programa-verzija.o kako naredim če želim zraven prevesti moj.cpp ki je shranjen v mapo /doc/moj_cpp
ker će samo napišem #include "moj.h" mi ven vrže da ne obstaja.
Lp,
ker će samo napišem #include "moj.h" mi ven vrže da ne obstaja.
Lp,
Gundolf ::
> V linuxu programe prevajam tako g++ ime_programa-verzija.cpp -o ime_programa-verzija.o
No ja... To velja za executable, pri čemer ti tisti .o v tvojem imenu executabla dela malo zmede (beri: je totalno odveč ker zavede bralca)
Če imaš več cpp fajlov (kot se mi zdi je v tvojem primeru), potem 'moraš' (v bistvu je načinov več, predstavljeni je le najbolj pogost) takole:
g++ -c ime_fajla_x.cpp -o ime_fajla_x.o
Opaziš switch -c ? S tem delaš .o fajle. To ponoviš za vse tvoje .cpp fajle.
Potem pa še zgradiš executable:
g++ ime_fajla_1.o ime-fajla_2.o ... ime_fajla_n.o -o ime_programa
Tule pa ni več -c switcha, na tem mestu le združiš že prevedene (po slovensko skompajlane) object fajle v en executable. V bistvu gre za linkanje, čeprav verjetno ne le za linkanje (tok detajlov pa ne poznam).
Lahko pa tisti prvi korak izpustiš in enostavno v drugem koraku .o zamenjaš s .cpp in direktno prevedeš množico soursov v en executable.
No ja... To velja za executable, pri čemer ti tisti .o v tvojem imenu executabla dela malo zmede (beri: je totalno odveč ker zavede bralca)
Če imaš več cpp fajlov (kot se mi zdi je v tvojem primeru), potem 'moraš' (v bistvu je načinov več, predstavljeni je le najbolj pogost) takole:
g++ -c ime_fajla_x.cpp -o ime_fajla_x.o
Opaziš switch -c ? S tem delaš .o fajle. To ponoviš za vse tvoje .cpp fajle.
Potem pa še zgradiš executable:
g++ ime_fajla_1.o ime-fajla_2.o ... ime_fajla_n.o -o ime_programa
Tule pa ni več -c switcha, na tem mestu le združiš že prevedene (po slovensko skompajlane) object fajle v en executable. V bistvu gre za linkanje, čeprav verjetno ne le za linkanje (tok detajlov pa ne poznam).
Lahko pa tisti prvi korak izpustiš in enostavno v drugem koraku .o zamenjaš s .cpp in direktno prevedeš množico soursov v en executable.
Zgodovina sprememb…
- spremenil: Gundolf ()
fx ::
Gundolf hvala za pomoč.
Sedaj pa me samo zanima kako v linuxu nastavim da se moj program avtomatično sam zažene ob zagonu.
Lp,
Sedaj pa me samo zanima kako v linuxu nastavim da se moj program avtomatično sam zažene ob zagonu.
Lp,
CCfly ::
Ali pa uporabiš katerega od teh nasvetov.
"My goodness, we forgot generics!" -- Danny Kalev
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [c++] segmentation fault?????Oddelek: Programiranje | 2288 (1832) | Vesoljc |
» | DevC++ težava?Oddelek: Programiranje | 1686 (1554) | Gundolf |
» | Pomnilnik in c++Oddelek: Programiranje | 2113 (1822) | Gundolf |
» | [C++] NULL: Undeclared identifier - HELP!Oddelek: Programiranje | 1209 (1147) | CCfly |
» | domači benchmark programOddelek: Programiranje | 1089 (943) | ruph |