Tut mir leid, wenn das einfach ist, ist mein C++ rostig.leicht komisch C++ Code
Was macht das? Soweit ich sehen kann, gibt es keine Zuweisung oder Funktionsaufruf. Dieses Codemuster wird in einem Code, den ich geerbt habe, mehrmals wiederholt. Wenn es darauf ankommt, ist es eingebetteter Code.
edit: weiter von dort, bestätigt der folgende Code Heide Verdacht? (Genau von Code, einschließlich der Wiederholung, mit Ausnahme der Namen wurden geändert, um die Unschuldigen zu schützen)
if (!WaitForNotBusy(50))
return ERROR_CODE_X;
*(volatile UINT16 *)& someVar->something;
if (!WaitForNotBusy(50))
return ERROR_CODE_X;
*(volatile UINT16 *)& someVar->something;
x = SomeData;
Eingebetteter Code? Dann ist dies wahrscheinlich eine physische Adresse, wie Sharth vermutete. –
Hinweis Ich hatte einen Link zum Artikel in der Antwort unten hinzugefügt: http://www.mjmwired.net/kernel/Documentation/volatile-consided-harmful.txt – Artyom
Es ist eine gute Idee, das Ergebnis eines Lesevorgangs zu werfen, der nirgends hinführt mit '(void)', um Compiler-Warnungen zu vermeiden. Also '(void) * (flüchtig uint16_t *) & etwasVar-> etwas'. Natürlich, wickeln Sie dies in eine Makro- oder Inline-Funktion, schneiden und fügen Sie diese nicht überall ein! –