alignement VirtualAlloc
-
19-09-2019 - |
Question
Est-ce que le bloc de mémoire retournée par VirtualAlloc toujours être aligné avec la taille de la page? En d'autres termes, le module sera toujours égale à zéro de la valeur de retour de VirtualAlloc et la taille de la page?
La solution
Eh bien, oui.
Après tout, vous appelez VirtualAlloc d'allouer des pages de mémoire. Vous ne pouvez pas affecter seulement 1 octet sans recevoir une page entière, donc il est logique que vous recevrez un tampon aligné avec la taille de la page.
Autres conseils
De la documentation MSDN pour VirtualAlloc:
Si la mémoire est déjà réservé et est commise, l'adresse est arrondi à la page suivante limite.
Donc, la réponse est oui, si vous commettez la mémoire et non pas seulement le réserver.