Sei sulla pagina 1di 5

Nunca revele sus contraseas o nmeros de tarjetas de crdito en una conversacin de m

ensajes instantneos.
haute: dice:
cuando tengas tiempo
haute: dice:
necesito unos consejos sobre como manejar la memoria
haute: dice:
ya sabes punteros y demas
haute: dice:
solo 4 cositas
`_ dice:
hola, perdona que no te haya hecho caso
`_ dice:
pero es que estoy atareado con otro tema
`_ dice:
ayer taba durmiendo
haute: dice:
hi
`_ dice:
lo
haute: dice:
jeje
haute: dice:
pues eso
`_ dice:
cuentame
haute: dice:
ke toy liado con los punteros
`_ dice:
que te pasa con los punteros?
haute: dice:
con lo facil ke era en amstrad 464
`_ dice:
jajaja
`_ dice:
por cierto
haute: dice:
realmente es acceder a la memoria
`_ dice:
al final me dijiste que no te hacia falta na?
haute: dice:
saber como moverme por ella
`_ dice:
yo toy liaisimo con el tema de la red en la ps2
haute: dice:
y como imprimo sus valore
`_ dice:
pero weno
haute: dice:
por ejemplo
haute: dice:
como defino una variable de memoria
`_ dice:
o sea, un puntero
`_ dice:
depende
haute: dice:
si llamlo como kieras
`_ dice:

tamao de dato?
`_ dice:
puede ser un byte
`_ dice:
o pueden ser mas
haute: dice:
mm...
haute: dice:
he hecho un programa tipo winhex
`_ dice:
mira imaginate que quiere acceder a un byte
haute: dice:
para debugear la memoria
`_ dice:
unsigned char *punt;
`_ dice:
esta es la definicion
`_ dice:
ahora quieres asignarle una direccion
`_ dice:
imaginate que la direccion la guardfas en dir
`_ dice:
porque supongo, que eso es lo que tu pretendes
haute: dice:
sip
`_ dice:
weno, eso seria asi:
`_ dice:
punt=(unsigned char *) dir;
`_ dice:
con eso, el dato de dir, se transforma en un puntero, que podemos asignar direct
amente a pun
`_ dice:
weno como leo un valor?
haute: dice:
pero dir por jemplo puede ser
haute: dice:
0x800140
`_ dice:
lo normal seria readby=*punt;
`_ dice:
pues seria asi
`_ dice:
por ejemplo, en la definicion (da igual)
`_ dice:
unsigned char *punt=0x800140;
`_ dice:
esto vale, pero lo mismo, te muestra un warning
haute: dice:
entiendo
haute: dice:
dir =0x800140 asi si estaria bien
`_ dice:
unsigned char * punt=(unsigned char *) 0x800140;
`_ dice:
esa seria la forma correctisima
haute: dice:
okis

`_ dice:
ahora bien
haute: dice:
despues quiero leer un dato de l amemoria
`_ dice:
tienes DOS maneras de poder leer/escribir
`_ dice:
una es la de *punt
`_ dice:
el * significa valor de la posicion de memoria
`_ dice:
para que nos entendamos
haute: dice:
okis
`_ dice:
asi si haces *punt=255;
`_ dice:
seria escribir
`_ dice:
el valor 255
`_ dice:
etc
haute: dice:
y leer?
`_ dice:
la segunda, te molara mas
haute: dice:
a ver
`_ dice:
ah!
`_ dice:
por ejemplo
`_ dice:
byte=*punt;
`_ dice:
el puntero, se puede incrementar
`_ dice:
OJO
`_ dice:
los incrementos, van en relacion al tamao
`_ dice:
por ejemplo unsigned char
`_ dice:
mide un byte
`_ dice:
asi que si hago punt++;
`_ dice:
incremento en un byte la direccion
`_ dice:
punt+=4;
`_ dice:
incrementaria en 4 bytes
`_ dice:
pero si punt
`_ dice:
es un unsigned *punt
`_ dice:
un unsigned son 4 bytes
haute: dice:
eso lo entiendo

`_ dice:
asi que punt++;
`_ dice:
incrementa 4
`_ dice:
fale
`_ dice:
ahora la otra lectura
haute: dice:
y comopuedo imprimir no el contenido de la memoria
`_ dice:
ok?
`_ dice:
la direccion?
haute: dice:
sino la direccion de memoria
`_ dice:
pues mira
`_ dice:
ssabes imprimir un unsigned?
haute: dice:
sip
`_ dice:
pues haz esto
`_ dice:
((unsigned) punt);
`_ dice:
eso transforma esa direccion en un unsigned
haute: dice:
okis
haute: dice:
yo creo que con eso me vale
`_ dice:
como ves el cast, es muy util
`_ dice:
pera
haute: dice:
dimer
`_ dice:
hay otra manera de leer
`_ dice:
con indices
`_ dice:
veras tiene punt ok?
`_ dice:
pues punt[0]=255;
`_ dice:
equivale a *punt=255;
`_ dice:
sin embargo puedes usar tambien punt[4]=123;
`_ dice:
por ejemplo
`_ dice:
es decir
`_ dice:
le sumas un incremento a la direccion
`_ dice:
sin incrementar el valor de punt
haute: dice:
eso escribe en la mmeoria incrementada 4 bytes el valor 123

`_ dice:
y escribes o lees el valor
`_ dice:
eso es
`_ dice:
pero solo si es un char o unsigned char
haute: dice:
eso lo veo mas razonable
`_ dice:
ves como es muy facil?
haute: dice:
la expresion vamos
`_ dice:
si
haute: dice:
un poc lioso los pputos parentesis
haute: dice:
pero bueno
`_ dice:
de hecho, los chars como cadena
`_ dice:
se usan asi
`_ dice:
char nombre[]="haute";
`_ dice:
en la posicion[0] esta 'h'
haute: dice:
entiendo
`_ dice:
y en la [4] la 'e'
`_ dice:
ojo, ten eso muy encuenta
`_ dice:
los indices empiezan con 0
haute: dice:
si eso si
`_ dice:
ah!
haute: dice:
noproblem
`_ dice:
cuando te refieras a un caracter
`_ dice:
'l'
`_ dice:
'a'
`_ dice:
se escribe asi
`_ dice:
con la ' que esta debajo de ?
`_ dice:
en el teclado
haute: dice:
valer
`_ dice:
para cadenas "" como ya usabas en basic
haute: dice:
okis

Potrebbero piacerti anche