FarewellLe 30/04/2017 à 20:58
Je comprends pas. J'utilise pas une variable, mais une adresse directement.
- si je l'utilisais en lecture, je comprendrais le volatile, pour forcer la lecture à chaque boucle de for par exemple. En effet, ça pourrait être modifié par une interruption
- mais si je l'utilise en écriture comme ici, pourquoi devoir mettre un volatile ? Sinon, dans quel cas un volatile pourrait être inutile dans ce cas-là ??
La variable d'une boucle for c'est autre chose, ok je l'écris, mais je la lis aussi, pour connaitre la valeur de mon compteur. C'est donc important de savoir si elle n'est pas accédée par une autre variable, afin de pouvoir la mettre en cache dans un registre comme tu dis (ce qui serait impossible si la vériable était accédée de l'extérieur, en effet).
Que le volatile soit explicite dans un tel cas parait normal.
Mais peux-tu me donner un exemple ou une écriture en RAM pourrait foirer si elle n'était pas déclarée volatile ?