elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: Escribir directamente en zona de memoria en: 9 Mayo 2012, 21:52 pm
No obstante, resulta extraño que, siendo valores aleatorios, en otro ordenador, ejecutando el programa, el valor de n siga valiendo 1 si no la inicializas. Es como si el propio compilador la inicializara a 1 por algún motivo...
Lo que me demuestra que debe ser el compilador es que si ahora declaro 2 variables tipo int; por ejemplo "p" y "n", sin inicializar, me dan dos valores "aleatorios"
n=4294156 y p=4248043. Resulta que si ejecuto el mismo programa en otro PC, ¡me dan los mismos valores!
Da igual cómo llame a las variables. Esto quiere decir que el compilador "da" unos valores a las variables; o algo así... En fin, no sé si darle más vueltas a estas chorradillas.

Saludos...no perdáis el tiempo por mi.
2  Programación / Programación C/C++ / Re: Escribir directamente en zona de memoria en: 8 Mayo 2012, 09:54 am
Gracias. Ya entiendo más o menos por dónde van los tiros.
3  Programación / Programación C/C++ / Escribir directamente en zona de memoria en: 8 Mayo 2012, 09:03 am
Hola.

Esto es una curiosidad, simplemente. Estoy empezando con C++. Me gustaría saber si es posible escribir en una zona de memoria determinada del ordenador, y que, después, leer de esta dirección de memoria este valor (como un debug del DOS, de antiguamente, vamos).

El tema viene porque lo he leído en otro foro. Cuando con Microsoft Visual C++ Express Edition haces

#include <iostream>
using namespace std;

int main{

int n;

cout << n ;
}

n vale 1; en mi ordenador, o incluso si lo ejecuto en una máquina virtual.

Si declaro otra variable, ya no, ya toma otros valores aleatorios.

Es una curiosidad, tal vez no sirva para nada. Por ahí comentan que tiene que ver con la memoria dinámica y tal, que si es valor basura. Estoy de acuerdo, pero; ¿cómo saber de dónde sale ese valor? ¿Se podría escribir un "2" por ejemplo y que cuando vuelva a ejecutar el anterior programa n valiese "2", sin haberla inicializado? ¿O es que el compilador tiene "algo" que la inicializa a "1"?

Es que estoy jubilado y tengo que perder el tiempo con algo...entendedme.

Saludos....
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines