Tein ohjelman, jossa lasketaan aluksi taulukoihin trigonometristen funktioiden arvoja tietyin välein(n. 0.15 astetta eli 2400 arvoa/funktio). Taulukot ovat float tyyppisiä. Ennen ohjelman koko oli 29 kt, mutta taulukoiden määrittelyn jälkeen koko olikin yli 80kt. Lähdekoodeista ei tule kuin n. 5 kt ja headereita ei ole lisätty välissä.
Kasvaako ohjelman exe:n koko, kun jossain lähdekooditiedostoista määritellään suuria taulukoita?
Riippuu missä ne määrittelet. Jos vetäiset ne pinosta niin ei kasva (toisaalta tuollaisessa prekalkulaatiossa tuskin vetäiset niitä pinosta...), jos taas teet niistä globaaleja, kasvaa. Mitä ikinä sitten käytätkin, kannattanee mieluummin tehdä tavallinen pointteri ja sitten new:illä varata kasasta (heap, hmm siis onko se suomeksi kasa?) tarpeen mukaan.. itse en suosi hirveän suurten taulukkon repimistä pinosta.
float* precalced_stuff; precalced_stuff = new float[2400]; // tai paljon sitten tarvitsetkaan // käytetään tavaraa delete[] precalced_stuff; // vapautetaan muisti
lainaus:
heap, hmm siis onko se suomeksi kasa?
Taitaa olla "keko".
Juu.. näinhän se on. Tulee niin vähän suomenkielisiä termejä käytettyä että ne unohtuvat melko helposti :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.