«« ( Date ) »» // «« ( Thread ) »» // ri4pp - 2006

Re: Pitanje u vezi koda sa sajta

by Milan Aleksic
nedelja, 04. jun 2006 - 21:08.

fazon ti je slican kao i u bilo kom OOP jeziku, referenca ti je samo adresa
nekog objekta na heap-u, dok je njegova velicina proizvoljna.
Tu nema greske, kada budes pozivao new prosledices upravo taj nVar jer ce on
reci vm-u koliko memorije da zauzme na heap-u i da zatim vrati adresu
(ekvivalentno pokazivacu u C++-u npr.) koju ces ti posle da koristis kada
budes hteo da preuzmes vrednost nekog polja iz alociranog objekta. capisci?

pozdrav, Milan

On 6/4/06, Bojic Petar <rapecafa@verat.net> wrote:

Na sajtu za prevodioce u odeljku "primeri koda" - Primer Implementacije
- Eclipse projekat -Primeri implementacije generatora koda i tabele
simbola <http://ri4pp.etf.bg.ac.yu/novo/materijali/Java/Compiler.zip> -
Compiler.zip. U ovoj arhivi se nalazi folder CompilerFramework\symbolTablePackage\pl
a u njemu ObjFactory.java. Zanima me metoda iz ovog fajla:

public Variable CreateGlobalVariable(String name, Struct type)
{
Variable var = CreateVariable(name,type, STATIC);
var.adr = mem.allocateStaticMemory(type.getSize());
return var;
}

Ako je tip "type" klasni tj. promenljiva u statickoj memoriji je
referenca na instancu objekta
na heap-u, velicina promenljive u statickoj memoriji je samo jedna rec,
dok ce type.getSize(), koji se koristi u mem.allocateStaticMemory, u
slucaju klasnog tipa vratiti nVar polje u Struct klasi sto moze biti vece
od 1.
Da li je ovo greska ili kod treba tumaciti na drugi nacin?

Pozdrav
Petar

-----------------------------------------------------------------
unsubscribe:
minimalist@rti.etf.bg.ac.yu?subject=unsubscribe%20ri4pp
-----------------------------------------------------------------





--
Milan Aleksić
WebGrafit: http://galeb.etf.bg.ac.yu/~aleksicm/webgrafit.php
email+jabber: milanaleksic@gmail.com
web: http://drop.to/goblin
ICQ: 53177884