Un'applicazione riceve un intervallo di memoria dal sistema operativo. In genere, l'applicazione deve richiedere la memoria, ma tale funzionalità potrebbe essere oscurata dal programmatore a causa della lingua.
Lingue come C consentono richieste di blocco per dimensioni specifiche, mentre altri linguaggi come C ++, C # e Java consentono richieste tramite l'uso di parole chiave come new
. Ogni lingua ha un numero di modi per allocare memoria, quindi questa è solo una breve panoramica. Rilasciando la memoria sul sistema operativo può essere fatto esplicitamente o attraverso un garbage collector.
L'accesso alla memoria all'interno dell'applicazione dipende da come è stato allocato. C e C ++ sono i più noti per usare il concetto di puntatori per indicare / tracciare dove si trova la memoria. Altrimenti, l'accesso alla memoria viene gestito tramite la classe o la variabile che è stata creata.
La maggior parte delle volte, non devi preoccuparti dell'accesso specifico alla memoria all'interno del tuo programma. I costrutti e il sistema operativo del linguaggio oscurano in modo efficace questa preoccupazione per te.
Il tuo esempio di un timer in un gioco è un ottimo esempio di dove non ti devi preoccupare dell'allocazione di memoria sottostante. Avrai una variabile che rappresenta il timer e ti basta leggere dalla variabile.
La mia risposta è rilevante per quando si scrive l'applicazione, mentre la risposta di zxcdw è rilevante per accedere alla memoria che appartiene ad un'altra applicazione. I tuoi termini LMGTFY sarebbero "debugging" e "reverse-engineering" per approfondire ulteriormente l'argomento.
Alcune letture aggiuntive:
- L'articolo di Wikipedia su Memoria del computer ti fornirà una decente panoramica delle cose.
- Quindi guarda l'articolo di Wikipedia su I / O mappato in memoria per ottenere una comprensione più profonda di le macchinazioni che succedono.
- Infine, guarda l'articolo su Memoria virtuale per ottenere una risposta migliore su come ciascun sistema operativo gestirà il mapping della memoria a un po 'diverso dagli altri.