|
Programiranje Programski jezici, tehnike, alatke... |
|
Alatke vezane za temu | Vrste prikaza |
13.4.2008, 16:17 | #1 |
Veteran
Član od: 17.1.2008.
Lokacija: Београд
Poruke: 636
Zahvalnice: 481
Zahvaljeno 128 puta na 85 poruka
|
C++ i Dev-Cpp bagovi
1. Kada kompajliram bilo koji program ispadne mi 450kb velicina, a video sam neku example igricu 25kb, kako je to moguce?
2. Citao sam o osnovama C++, o OOP-u i mislim da sam naucio, samo mi treba praksa tj. iskustvo. Meni trebaju neki tutorijali za advanced programiranje pa jel neko moze da mi da neki link. |
13.4.2008, 17:01 | #2 |
Starosedelac
Član od: 25.1.2007.
Lokacija: Beograd
Poruke: 2.087
Zahvalnice: 213
Zahvaljeno 300 puta na 236 poruka
|
Re: C++ i Dev-Cpp bagovi
Moguce da je ta 450kb default velicina kod Dev-a (mada nisam siguran) kad se kompajlira debug verzija koja je obicno veca od release verzije programa... a i ja trazim neku literaturu trenutno za c++ pa ako nadjem nesto stavljam link
|
13.4.2008, 17:31 | #3 |
Starosedelac
Član od: 27.12.2005.
Lokacija: Pančevo
Poruke: 1.303
Zahvalnice: 63
Zahvaljeno 438 puta na 328 poruka
|
Re: C++ i Dev-Cpp bagovi
Dev-CPP je statički link-ovao mnoge stvari u program + verovatno je stavio debug podatke, otud tolika veličina.
|
13.4.2008, 17:41 | #4 |
Veteran
Član od: 17.1.2008.
Lokacija: Београд
Poruke: 636
Zahvalnice: 481
Zahvaljeno 128 puta na 85 poruka
|
Re: C++ i Dev-Cpp bagovi
pa kako da stavim manju velicinu tj. da sklonim debug info?
|
13.4.2008, 17:51 | #5 |
V.I.P. GNU/Linux
Član od: 1.11.2005.
Poruke: 11.163
Zahvalnice: 2.081
Zahvaljeno 4.922 puta na 2.858 poruka
|
Re: C++ i Dev-Cpp bagovi
Uključi negde u opcijama "Strip all", mislim da se tako zove.
Example igrica je pisana u C-u, C++ programi su veći jer se linkuje više biblioteka. U svakom slučaju će ti statički linkovani C++ program biti veći od C programa. |
13.4.2008, 20:36 | #6 |
Veteran
Član od: 17.1.2008.
Lokacija: Београд
Poruke: 636
Zahvalnice: 481
Zahvaljeno 128 puta na 85 poruka
|
Re: C++ i Dev-Cpp bagovi
Stavio sam "Strip executable" na "Yes" i nista.
Btw, igrica je pisana u c++ sa gomilom headera. Evo jos pitanja: 1. Moze li neko da mi objasni enum i extern? 2. Nisu mi najjasnije exepcije, cemu sluze i slicno. |
14.4.2008, 8:19 | #7 | |
Deo inventara foruma
|
Re: C++ i Dev-Cpp bagovi
Citat:
extern Nemoj se zaletati sa nekim advanced tutorijalima za C++, kad jos nisi upoznat ni sa osnovama C-a. |
|
16.4.2008, 0:39 | #8 |
Veteran
Član od: 17.1.2008.
Lokacija: Београд
Poruke: 636
Zahvalnice: 481
Zahvaljeno 128 puta na 85 poruka
|
Re: C++ i Dev-Cpp bagovi
Ne, nego nema objasnjenja u tutorialu
|
16.4.2008, 5:01 | #9 |
Član
Član od: 9.7.2007.
Poruke: 119
Zahvalnice: 2
Zahvaljeno 31 puta na 29 poruka
|
Re: C++ i Dev-Cpp bagovi
Moze da bude vise uzroka velikoj izvrsnoj datoteci.
1. Velicina izvrsne datoteke zavisi od - debug informacija (strip all bi trebalo da ih odstrani) - da li je kod iz standardne bibiloteke dinamicki ili staticki linkovan: staticki znaci da je kod u samoj izvrsnoj datoteci, dinamicki znaci da ce kod standardnih biblioteka biti u "dll"-ovima (na windows-u) odnosno "shared library" na linux-u. Ako se radi o windows-u, postoji opcija da se standardna C bibiloteka staticki linkuje, ali ne i ostale (kernel, gdi, i tako dalje). 2. Dev-cpp koristi gcc tako da mozes da pogledas koje opcije zadaje gcc-u. Ako imas nacin da vidis koje tacno komande izdaje Dev-CPP kada kompajlira, obrati paznju na komandne linije pa ih postuj ovde ako ih ne razumes. Na primer, ako vidis "-g" opciju u komandnoj liniji za "gcc" (ili g++) to govori gcc-u da generise debag informacije. -O? (gde je ? broj) je nivo optimizacije i td. Noviji gcc (4.*) ima vrlo dobre optimizacije. Obicno se koristi -O2. 3. Konacno, starije verzije gcc-a nisu tako dobre za optimizaciju velicine koda, narocito za C++ i umele su da generisu prilicno "naduvane" binarne datoteke. Trebalo bi da je verzija 3.3.* solidna, a 4.2.* prilicno dobra (odlicna?). Da probam i ostala pitanja: "enum" i "extern": Te dve stvari su prilicno razlicite: enum je sintaksna struktura dok je "extern" "modifier" odnosno rezervisana rec koja daje instrukciju kompajleru da smatra tako deklarisan simbol definisanim (Deklaracija je na primer "int foo(int);" dok je definicija "int foo(int a) { return a; }", dakle implementacija. Pomocu extern uvodis deklaraciju bez definicije u datu kompilacionu jedinicu, a kompajler ostaje srecan jer "zna" tacno o kakvom se simbolu radi (naravno, linker ce zahtevati da nadje i definiciju da bi mogao da na odgovarajuci nacin poveze razresene simbole). Enum mozes da zamislis kao niz konstanti. U C++ im je dodeljen i tip podatka. U C-u je enum ekvivalentan int-u tipa podatka, dok je u C++ standardom nije definisana velicina enum-varijable. Najcesce je to int, ali nije garantovano na svim platformama. To, u prevodu znaci da je ovaj kod: Kod:
enum OPCIJE { CRNO, BELO = 10000, ZUTO }; int o = BELO; OPCIJE opc; opc = o; (Obrati paznju na "= 10000", zadavanje vrednosti enum-konstanti je opciono i ako se ne zada kompajler zadaje broj pocev od 0 pa na vise, odnosno u primeru gore CRNO bi bilo 1, BELO 10000, ZUTO 10001). "Eksepcije": u C++ se koriste za kontrolu izvrsavanja koda u izuzetnim situacijama. Na primer, greska deljenja nulom i slicno. Ideja je sledeca: pises kod kao da ce da radi normalno, a sintaksnom "catch" strukturom obezbedjujes ponasanje programa ukoliko nesto krene naopako: Kod:
try { foo(); throw int(4); bar(); } catch (int i) { cout << i << endl; } Ako si dobar sa engleskim, preporucujem Bruce Eckel knjigu "Thinking in C++", mislim da je neka od edicija prevedena i stampana na Srpskom. (http://www.mindview.net/Books/TICPP/...ngInCPP2e.html) |
Sledeći korisnik se zahvaljuje korisniku rile na korisnoj poruci: | ||
allokin (16.4.2008) |
28.4.2008, 13:47 | #10 |
Veteran
Član od: 17.1.2008.
Lokacija: Београд
Poruke: 636
Zahvalnice: 481
Zahvaljeno 128 puta na 85 poruka
|
Re: C++ i Dev-Cpp bagovi
Pozdrav! Imam jedan problem sada vezan za C jezik. Naime, kodovao sam jedan program u c++ koji pravi fajl velicine koju stavi user (za testiranje jednog mog drugog programa) pomocu "cin" funkcije ali exe ispada preveliki zbog statickog linkovanja pa sam odlucio da pretvorim kod u c za manju velicinu. Tu sam koristio "printf" i "scanf" i lepo kompajlirao ali kada sam uneo velicinu fajla program je zabo. Onda sam ga debugovao i pisalo je "Access violation". Znam sta to znaci ali ne znam sta da radim.
|
28.4.2008, 14:48 | #11 |
Deo inventara foruma
Član od: 5.12.2005.
Poruke: 6.785
Zahvalnice: 348
Zahvaljeno 1.893 puta na 1.078 poruka
|
Re: C++ i Dev-Cpp bagovi
A da postaviš kod?
|
28.4.2008, 15:01 | #12 |
V.I.P. GNU/Linux
Član od: 1.11.2005.
Poruke: 11.163
Zahvalnice: 2.081
Zahvaljeno 4.922 puta na 2.858 poruka
|
Re: C++ i Dev-Cpp bagovi
Verovatno si kao argumente scanf-a navodio vrednosti, a ne adrese promenljivih u koje hoćeš da upišeš nešto...
znači treba Kod:
int a; printf("Unesi nešto: "); scanf(%d, &a); Kod:
int a; printf("Unesi nešto: "); scanf(%d, a); |
Sledeći korisnik se zahvaljuje korisniku voodoo_ na korisnoj poruci: | ||
allokin (28.4.2008) |
28.4.2008, 16:18 | #13 |
Veteran
Član od: 17.1.2008.
Lokacija: Београд
Poruke: 636
Zahvalnice: 481
Zahvaljeno 128 puta na 85 poruka
|
Re: C++ i Dev-Cpp bagovi
Aha, ok
|
28.4.2008, 22:09 | #14 |
Veteran
Član od: 17.1.2008.
Lokacija: Београд
Poruke: 636
Zahvalnice: 481
Zahvaljeno 128 puta na 85 poruka
|
Re: C++ i Dev-Cpp bagovi
kako da pocnem sa aplikacijama koje se konektuju medjusobno na razne nacine?
|
1.5.2008, 15:16 | #15 |
V.I.P. GNU/Linux
Član od: 1.11.2005.
Poruke: 11.163
Zahvalnice: 2.081
Zahvaljeno 4.922 puta na 2.858 poruka
|
Re: C++ i Dev-Cpp bagovi
http://www.codersource.net/codersource_win32prog.html , sekcija Win32 Sockets
Na istoj mašini programi mogu da komuniciraju i preko "cevi" (pipes), imaš na istoj stranici. |
1.5.2008, 19:29 | #16 |
Član
Član od: 9.7.2007.
Poruke: 119
Zahvalnice: 2
Zahvaljeno 31 puta na 29 poruka
|
Re: C++ i Dev-Cpp bagovi
Predlazem da startujes novu temu ali da suzis pitanje na jedan od "raznih nacina" - u protivnom je suvise neodredjeno i verovatno neprimereno formatu foruma.
|
3.5.2008, 1:54 | #17 |
Veteran
Član od: 17.1.2008.
Lokacija: Београд
Poruke: 636
Zahvalnice: 481
Zahvaljeno 128 puta na 85 poruka
|
Re: C++ i Dev-Cpp bagovi
@voodoo_, cuo sam nesto o tome ali hteo sam malo da prosirim svoje znanje
@rile, tema se zove "C i dev-cpp bagovi" tako da nema potrebe za novom. Pitanje je i trebalo da bude objektivno |
Bookmarks sajtovi |
Alatke vezane za temu | |
Vrste prikaza | |
|
|
Slične teme | ||||
tema | temu započeo | forum | Odgovora | Poslednja poruka |
Bagovi na forumu | veverica | Forum o forumu | 1967 | 18.1.2024 3:44 |
The Elder Scrolls IV: Oblivion | Aljosa | Role-Play | 3769 | 8.8.2023 12:21 |
Forum: predlozi & sugestije | oluja | Forum o forumu | 5976 | 26.8.2013 20:11 |
Kolumnisti forumaši | oluja | „Ja, igrač!” | 393 | 30.7.2011 11:50 |