Red de conocimiento informático - Material del sitio web - ¿Cómo utilizar punteros en lenguaje C para cambiar datos en cualquier dirección de memoria?

¿Cómo utilizar punteros en lenguaje C para cambiar datos en cualquier dirección de memoria?

En los días de DOS, podías

definir un puntero *p

cambiando p a la dirección de memoria que deseabas.

(Tenga en cuenta que en la mayoría de los casos esta dirección es una dirección desplazada (ver ensamblaje))

Puede cambiar el valor de *p para cambiar los datos en esta dirección

p>

Si desea solicitar una dirección de memoria arbitraria

Utilice la instrucción asm para llamar a la instrucción ensambladora para cambiar la dirección

En la era de Windows, ya no es posible acceder a direcciones de memoria arbitrarias.

Windows ya no puede acceder a la dirección del hardware (por razones de seguridad) y, por tanto, a la dirección de la tarjeta gráfica.