Désolé si c'est simple, mon C++ est rouillé.un peu bizarre C++ code
Qu'est-ce que c'est? Il n'y a pas d'appel d'affectation ou de fonction autant que je peux voir. Ce modèle de code est répété plusieurs fois dans un code dont j'ai hérité. Si c'est important, c'est du code intégré.
*(volatile UINT16 *)&someVar->something;
edit: à partir de là, est ce que le code supplémentaire suivant confirme les suspicions de Heaths? (Exactement à partir du code, y compris la répétition, à l'exception des noms ont été changés pour protéger les innocents)
if (!WaitForNotBusy(50))
return ERROR_CODE_X;
*(volatile UINT16 *)& someVar->something;
if (!WaitForNotBusy(50))
return ERROR_CODE_X;
*(volatile UINT16 *)& someVar->something;
x = SomeData;
Code intégré? Alors c'est probablement une adresse physique, comme suspecté. –
Note J'avais ajouté un lien vers l'article dans la réponse ci-dessous: http://www.mjmwired.net/kernel/Documentation/volatile-considered-harmful.txt – Artyom
C'est une bonne idée de lancer le résultat d'une lecture qui ne va nulle part avec '(void)', pour éviter les avertissements du compilateur. Donc '(void) * (volatile uint16_t *) & someVar-> quelque chose'. Bien sûr, envelopper dans une fonction macro ou en ligne, ne pas couper et coller tout cela partout! –