Discussion:
Direcciones de memoria
(demasiado antiguo para responder)
Showtime
2003-11-28 22:32:37 UTC
Permalink
Hola. Lo primero es lo primero: gracias a los que me ayudasteis el otro día
con un mensaje sobre mantener un frame rate constante en un juego.

He estado "investigando" el tema de los timers del procesador y me he
encontrado con una duda sobre direcciones de memoria. Al parecer, uno de los
timers incrementa un contador unas 18,2 veces por segundo (cada 55 ms.). La
dirección de dicho contador es 0040:006C. Bien, pues para acceder a dicha
memoria he visto ejemplos de código como éste:

unsigned long *puntero;
puntero=(unsigned long *)0x0040006CL;

El caso es que no sé qué significa la "L" al final de la dirección de
memoria. He visto ejemplos donde no la ponen. He estado buscando en google
pero no doy con ello, y tengo curiosidad por saber qué significa, ¿me lo
puede explicar alguien?

saludos y gracias
Fernando Arbeiza
2003-11-28 22:56:16 UTC
Permalink
Hola:

On Fri, 28 Nov 2003 23:32:37 +0100, Showtime
Post by Showtime
unsigned long *puntero;
puntero=(unsigned long *)0x0040006CL;
El caso es que no sé qué significa la "L" al final de la dirección de
memoria. He visto ejemplos donde no la ponen. He estado buscando en google
pero no doy con ello, y tengo curiosidad por saber qué significa, ¿me lo
puede explicar alguien?
Significa que la constante tendrá un tipo long int.

Más concretamente, el tipo de la constante será el primero en el que
pueda representarse su valor de esta lista:

long int
unsigned long int
long long int
unsigned long long int

Aunque creo que lo mejor es utilizar "UL" en lugar de "L", ya que la
constante tendrá tipo:

unsigned long int
unsigned long long int

Un saludo.
--
Fernando Arbeiza <URL: mailto:***@ono.com>
Crea tu propio Linux: <URL: http://www.escomposlinux.org/lfs-es>
Loading...