Hacer Una... Radiografía De Un Módulo O De Una Clase


Objetivo: Hacer Una... Radiografía De Un Módulo O De Una Clase
Puesto un Módulo o una Clase, leyendo dentro de la memoria de un área apuntada por un Puntero a una variable de tipo String, es posible ver unas características y unos elementos constituyentes del Módulo o de la Clase.

Vamos a probar este ejemplo:
Public Sub Main()

Dim s As String
Dim i As Integer
Dim p As Pointer
Dim st As Stream
Dim bb As New Byte[4]

s = "aaaa"
p = VarPtr(s)

For i = -24 To 47
Print i, Hex(Byte@(p + i), 2), Chr(Byte@(p + i))
Next

End

última edición por vuott el Lunes, 24 Octobre 2016, 15:57; editado 2 veces
Perfil MP  
Objetivo: Re: Hacer Una... Radiografía De Un Módulo O De Una Clase
No entiendo porqué se declaró bb si no se está usando, o no veo cómo se está usando.

Nunca aprendí C porqué nunca entendí bien los punteros. Jajaja.

Saludos.

Objetivo: Re: Hacer Una... Radiografía De Un Módulo O De Una Clase
razaAztk escribió: [Ver mensaje]
No entiendo porqué se declaró bb si no se está usando, o no veo cómo se está usando.

Nunca aprendí C porqué nunca entendí bien los punteros. Jajaja.

Saludos.


Solo por un ejemplo.
Cuando te vas a ver los datos (con Print) de el area apuntada por el Puntero, tu puedes ver (tambien) el nombre identificativo de aquel array (bb).

Perfil MP  
Objetivo: Re: Hacer Una... Radiografía De Un Módulo O De Una Clase
Citar:
Cuando te vas a ver los datos (con Print) de el area apuntada por el Puntero, tu puedes ver (tambien) el nombre identificativo de aquel array (bb).

Eso es física cuántica, cuando te vas a ver los datos, los cambias por el hecho de mirarlos...
Vuott, has transcendido al probre Newton.

Perfil MP  
Objetivo: Re: Hacer Una... Radiografía De Un Módulo O De Una Clase
He modificado el ejemplo de Vuott, para mostrar mejor lo que nos cuenta:

Public Sub Main()

Dim s As String
Dim i As Integer
Dim p As Pointer
Dim st As Stream
Dim bb As New Byte[4]

s = "aaaa"
p = VarPtr(s)

For i = -24 To 47
Print Chr(Byte@(p + i)); 'i, Hex(Byte@(p + i), 2), Chr(Byte@(p + i))
Next

End


Si se ejecuta sale esto en la consola:
^@^@^@Main.module^@0^@^@^@Main^@aaaa^@Stream^@Byte[]^@@init^@@new^@s^@i^@p^@st^@bb^@^@^@^@^@^@^@

De esta cadena se puede extraer los nombres de las variable que están definidas dentro de la subrutina Main:
"s", "i", "p", "st","bb"

Objetivo: Re: Hacer Una... Radiografía De Un Módulo O De Una Clase
shordi escribió: [Ver mensaje]
los cambias por el hecho de mirarlos...


...un puro acto de intuición mística, de sola voluntad cósmica.

última edición por vuott el Lunes, 24 Octobre 2016, 17:06; editado 1 vez
Perfil MP  
Objetivo: Re: Hacer Una... Radiografía De Un Módulo O De Una Clase
razaAztk escribió: [Ver mensaje]
... nunca entendí bien los punteros.


Uhmmmmm.... un exemplum:

Puntero = http://immagini.ilmeteo.it/portale/...cord-2015_1.jpg

Variable normal =
.colosseo-neve-roma-el-nino-record-2015_1

Perfil MP  
Objetivo: Re: Hacer Una... Radiografía De Un Módulo O De Una Clase
Vuott:

Hablando sobre la fotografía.. Te voy a enseñar una foto antigua de Sevilla nevada

http://1.bp.blogspot.com/_WEjiCu_RN...illa+nevada.jpg

Es del año 1954...

En la actualidad... pasamos mucha calor, y casi no llueve...

Será el cambio climático...

Saludos

Objetivo: Re: Hacer Una... Radiografía De Un Módulo O De Una Clase
jsbsan escribió: [Ver mensaje]
Te voy a enseñar una foto antigua de Sevilla nevada
http://1.bp.blogspot.com/_WEjiCu_RN...illa+nevada.jpg

Gracias, jsbsan, por el Puntero a la bella foto.

( @razaAztk
el amigo jsbsan nos pasó un... Puntero a la foto de Sevilla nevada. Es decir la dirección para ver la foto: en el su mensaje nosotros no vemos la foto, vemos su dirección para verla !)



jsbsan escribió: [Ver mensaje]
En la actualidad... pasamos mucha calor, y casi no llueve...

Será el cambio climático...

Por supuesto.

última edición por vuott el Martes, 25 Octobre 2016, 09:19; editado 4 veces
Perfil MP  
Objetivo: Re: Hacer Una... Radiografía De Un Módulo O De Una Clase
Punteros!. Herejiaaa!.

Además, una aplicación que se ve sus propias tripas!!!...es como ver una radiografía de una tía buena...

última edición por Shell el Martes, 25 Octobre 2016, 11:30; editado 1 vez

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.1083s (PHP: -22% SQL: 122%)
Consultas SQL: 27 - Debug off - GZIP Activado