Hola!.
¿ Se puede averiguar en gambas la dirección de memoria donde se encuentra almacenado un valor asignado a una variable ?.
Si tenemos la asignación:
numero = 1000
¿ Se puede saber a que dirección de memoria apunta numero ?.
Saludos
Averiguar La Dirección De Memoria De Una Variable
Objetivo: Re: Averiguar La Dirección De Memoria De Una Variable
La idea de esta pregunta es para comprobar una cosa.
Imaginar que tenemos las variables A y B.
- 5 se almacena en A
- A + 12 se almacena en B
- Ahora cambiamos el contenido de A.
- 7 se almacena en A
Mi idea es comprobar si la dirección de memoria de A, ha cambiado con la nueva asignación.
Que sera lo más seguro.
Saludos
Imaginar que tenemos las variables A y B.
- 5 se almacena en A
- A + 12 se almacena en B
- Ahora cambiamos el contenido de A.
- 7 se almacena en A
Mi idea es comprobar si la dirección de memoria de A, ha cambiado con la nueva asignación.
Que sera lo más seguro.
Saludos
Objetivo: Re: Averiguar La Dirección De Memoria De Una Variable
Os muestro un vídeo de un curso de programación fundamental de Python, donde trata las variables y las asignaciones de memoria.
Puede que todo esto sea muy didactico. Sabemos de sobra que es una variable, como la entiende el interprete.
Nosotros no le decimos que en una dirección de memoria almacene un valor, directamente, el interprete se encarga de eso.
Sería un poco engorroso.
Como siempre los subtítulos no son tan buenos.
Link
Espero que os guste.
Saludos
Puede que todo esto sea muy didactico. Sabemos de sobra que es una variable, como la entiende el interprete.
Nosotros no le decimos que en una dirección de memoria almacene un valor, directamente, el interprete se encarga de eso.
Sería un poco engorroso.
Como siempre los subtítulos no son tan buenos.
Link
Espero que os guste.
Saludos
Objetivo: Re: Averiguar La Dirección De Memoria De Una Variable
No tiene por qué cambiar si su contenido ocupa lo mismo. Si almacena un entero, ocupa 4 bytes, por lo tanto, si le vuelves a asignar otro entero ocupará lo mismo y no hará falta ocupar otra posición en memoria. De todos modos, a menos que uses punteros con librerías externas, en gambas no debe preocuparte mucho ese tema. Si quieres experimentar con memoria y punteros usa C.
Saludos
Shell escribió: [Ver mensaje]
No tiene por qué cambiar si su contenido ocupa lo mismo. Si almacena un entero, ocupa 4 bytes, por lo tanto, si le vuelves a asignar otro entero ocupará lo mismo y no hará falta ocupar otra posición en memoria. De todos modos, a menos que uses punteros con librerías externas, en gambas no debe preocuparte mucho ese tema. Si quieres experimentar con memoria y punteros usa C.
Saludos
Objetivo: Re: Averiguar La Dirección De Memoria De Una Variable
Ehmmm... dado que un Puntero contiene una dirección de memoria, y después que la función VarPtr() regresa un Puntero que apunta a los contenidos de una variable en la memoria, propono:
última edición por vuott el Martes, 02 Septiembre 2014, 00:18; editado 1 vez
Shell escribió: [Ver mensaje]
Ehmmm... dado que un Puntero contiene una dirección de memoria, y después que la función VarPtr() regresa un Puntero que apunta a los contenidos de una variable en la memoria, propono:
última edición por vuott el Martes, 02 Septiembre 2014, 00:18; editado 1 vez
Objetivo: Re: Averiguar La Dirección De Memoria De Una Variable
Por lo tanto:
...demuestra que la dirección no cambia durante la ejecución del programa para el mismo tipo de variable (en este caso Integer).
Pero para cualquier otro Tipo de longitud no fija, puede cambiar. De hecho el siguiente código lo demuestra:
Por cierto, vuott, buen aporte. No me acordaba de la función VarPtr(), la consideraba sólo útil para uso con librerías externas.
Saludos
jguardon escribió: [Ver mensaje]
Por lo tanto:
...demuestra que la dirección no cambia durante la ejecución del programa para el mismo tipo de variable (en este caso Integer).
Pero para cualquier otro Tipo de longitud no fija, puede cambiar. De hecho el siguiente código lo demuestra:
Por cierto, vuott, buen aporte. No me acordaba de la función VarPtr(), la consideraba sólo útil para uso con librerías externas.
Saludos
Objetivo: Re: Averiguar La Dirección De Memoria De Una Variable
Gracias a los dos por vuestra ayuda.
Esta noche lo veo mejor con algo más de tiempo.
He visto algo que tengo que comentar, pero no se relaciona con esto.
Saludos
Esta noche lo veo mejor con algo más de tiempo.
He visto algo que tengo que comentar, pero no se relaciona con esto.
Saludos
Objetivo: Re: Averiguar La Dirección De Memoria De Una Variable
última edición por vuott el Martes, 02 Septiembre 2014, 00:22; editado 1 vez
[quote user="jguardon" post="23007"][quote user="jguardon" post="22995"]
Gracias, saludos muchos a ti tambien, jguardon.
Saludos, Shell.
Shell escribió: [Ver mensaje]
Gracias, saludos muchos a ti tambien, jguardon.
Shell escribió: [Ver mensaje]
Saludos, Shell.
última edición por vuott el Martes, 02 Septiembre 2014, 00:22; editado 1 vez
Objetivo: Re: Averiguar La Dirección De Memoria De Una Variable
esta pensando que ese código esta interesante y se puede aplicar a seguridad, por ejemplo en la variable de la contraseña sabiendo el lugar de la memoria que la podemos sobrescribir para no dejar expuesta la contraseña en ese lugar de la memoria.
Objetivo: Re: Averiguar La Dirección De Memoria De Una Variable
V3ctor:
Si haces eso, pierdes el valor de la contraseña. No tiene sentido y no te da seguridad.
Para asegurar contraseña lo que tienes que hacer es encriptarlas.
http://jsbsan.blogspot.com.es/2011/...componente.html
Citar:
Si haces eso, pierdes el valor de la contraseña. No tiene sentido y no te da seguridad.
Para asegurar contraseña lo que tienes que hacer es encriptarlas.
http://jsbsan.blogspot.com.es/2011/...componente.html
Página 1 de 2
No puede crear mensajesNo 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.5102s (PHP: -85% SQL: 185%)
Consultas SQL: 47 - Debug off - GZIP Activado