• 4 odgovora
  • 1.612 pregleda
Zauzeče memorije 11.11.2009. u 14:34 · pre 206 meseci #1
Počeo sam nedavno opet eksperimentirati i učiti C++ pa sam napisao nekakav sitan program od 60ak linija koda koj radi nekakve jednostavne mat. operacije s 2 zadana broja.

Uglavnom očekivao bih da taj program nemože pojesti neku veliku količinu memorije pošto stvarno nije velik ni zahtjevan ali kad ga startam i pogledam u procesima kolko "pojede" kaže da si je uzeo 940kB što mi se čini stvarno puno s obzirom da npr. neka Win32 aplikacija s 100 puta više mogučnosti pojede 4000kB...

Nije mi od presudne važnosti da mi sad taj program bude ne znam kako mali i optimiziran ali me zanima samo zašto C++ program toliko memorije uzima. Mogu se samo zapitati što če biti kad ču raditi nekakav složeniji program.
Potpis
Windows 95 /Win’ dz/: n., 32-bit extensions and a graphical shell for a 16-bit patch to an 8-bit operating system
originally coded for a 4-bit microprocessor, written by a 2-bit company, that can’t stand 1 bit of competition.
Re: Zauzeče memorije 11.11.2009. u 15:15 · pre 206 meseci #2
Najčešće je uzrok tome što je aplikacija kompajlirana u Debug režimu, pa linker uključuje gomilu stvari koje nisu potrebne finalnoj verziji. Kompajliraj u Release režimu i pogledaj da li je dalo rezultate.

Postoje i drugi uzroci, ali to je uglavnom specifično za proizvođača kompajlera/okruženja, pa ako ne rešiš problem kaži koji koristiš.

Recimo, bilo je na ES-u reči o velikim izvršnim falovima DevC++ kompajlera.
Re: Zauzeče memorije 11.11.2009. u 18:24 · pre 206 meseci #3
Hvala ti mislim da je problem i u debug režimu a i u DevCpp u kojem radim...

Čuo sam dobre stvari o Code Blocksu, možda pređem na njega.
Potpis
Windows 95 /Win’ dz/: n., 32-bit extensions and a graphical shell for a 16-bit patch to an 8-bit operating system
originally coded for a 4-bit microprocessor, written by a 2-bit company, that can’t stand 1 bit of competition.
Re: Zauzeče memorije 11.11.2009. u 18:34 · pre 206 meseci #4
Hm... evo kompajlirano u Code Blocksu smanjuje zauzeče na 904kB...

Kako u Code Blocksu kompajlirati u Release modu???
Potpis
Windows 95 /Win’ dz/: n., 32-bit extensions and a graphical shell for a 16-bit patch to an 8-bit operating system
originally coded for a 4-bit microprocessor, written by a 2-bit company, that can’t stand 1 bit of competition.
Re: Zauzeče memorije 11.11.2009. u 19:01 · pre 206 meseci #5
Imas na jednom od Toolbar-ova u okruzenju: Build target: [Debug/Release].

Ali to sigurno nije sve. Postoje i opcije da li da se svi potrebni DLL-ovi ukljuce u projekat, ili ne... i sl.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme