[ Djordjevic @ 20.03.2008. 10:51 ] @
Da li moze iko da mi pomogne oko sintakse reinterpret_cast operatora posto mi nije bas najjasnije.

Da li ovo moze da radi

short* p = reinterpret_cast<short*>(adr1);

posto se nije bas tako pokazalo. Dakle ocu da se iz neke numericke promenljive koja je smestena u adr1 sadrzaj interpretira kao pokazivac.

Hvala unapred.
[ 1jedini @ 20.03.2008. 11:51 ] @
Citat:

5.2.10-5
A value of integral type or enumeration type can be explicitly converted to a pointer.64) A pointer converted
to an integer of sufficient size (if any such exists on the implementation) and back to the same pointer type
will have its original value; mappings between pointers and integers are otherwise implementation-defined.


I sitna slova 64)
Citat:

64) Converting an integral constant expression (5.19) with value zero always yields a null pointer (4.10), but converting other expressions
that happen to have value zero need not yield a null pointer.



Citat:
Dakle ocu da se iz neke numericke promenljive koja je smestena u adr1 sadrzaj interpretira kao pokazivac.

Moze. Sam si dao primer.

[ Djordjevic @ 20.03.2008. 23:42 ] @
ali to ne radi, u tome je problem. access violation bla bla bla..... znas vec.
[ 1jedini @ 21.03.2008. 10:46 ] @
Ako je access violation onda nisi ubo pravu adresu.

Pogledaj kako kompajler koji koristis pretvara ceo broj u pointer.


Otome govori:
Citat:

5.2.10-3 The mapping performed by reinterpret_cast is implementation-defined. [Note: it might, or might
not, produce a representation different from the original value. ]


Da ponovim nadji kako kompajler pretvara broj u adresu.
Jer ako to neznas uvek ces dobijati krsenje pristupa.

[ Djordjevic @ 21.03.2008. 21:52 ] @
hvala puno. nisam jos proverio ali sam popricao sa jos nekim znalcima :) i isto mi je receno.
[ Djordjevic @ 24.03.2008. 17:12 ] @
e izgleda da sam ja prevideo neke stvari.... radilo je jos onda, ali sam upadao u zabranjenu memorijsku zonu, pa sam se tripovao da ne radi....

jel zna neko da mi kaze od koje do koje adrese moze da se "cacka" memorija, ja sam uspeo od nekih 130000 do 134000....
i kako se uopste to gleda, tj kako se interpretiraju prave adrese u virtuelni adresni prostor?