0
A
回答
3
它首先將其轉換爲「指向易失性UINT32
」的指針後取消a
。
還有比需要更多的方式括號,這將是更好的寫法如下:
*(volatile UINT32 *) a
,做同樣的事情。你會希望有能在這裏更多的代碼,當然,無論是寫:
*(volatile UINT32 *) a = 4711;
是(由於volatile
)的寫不寫了優化,以4711
中所含a
地址,確保即使從編譯器的角度來看,這似乎毫無意義。
或讀:
const UINT32 packetCounter = *(volatile UINT32 *) a;
讀取的地址在a
的電流值,並將其存儲在一個名爲packetCounter
局部常量變量。這是如果a
是某個I/O寄存器的地址,它將看起來如何。再次由於volatile
,讀取必須發生,即使對編譯器來說似乎毫無意義,它也不能被優化或緩存。這在I/O寄存器中很常見。
相關問題
- 1. C++揮發物,揮發性成員
- 2. Visual C++揮發性
- 3. C#揮發性雙
- 4. 含義的揮發性對於陣列和類型轉換
- 5. 揮發性VS不揮發
- 6. C++標杆,揮發性
- 7. C#揮發性讀行爲
- 8. 揮發性數組C++
- 9. Java和C++ 11揮發性
- 10. C++常量VS揮發性
- 11. const的揮發,易失性寄存器,靜態揮發在C++
- 12. 聯合會的揮發性和非揮發性成員的語義是什麼?
- 13. 揮發性古怪
- 14. 從ASM揮發性通話
- 15. 揮發性物體工作
- 16. 分析中的揮發性
- 17. 揮發性在C++ 11 - 跟進
- 18. 的Teradata - 揮發性表
- 19. 丟失揮發性限定
- 20. __align(A)在C中的含義
- 21. 併發編程實踐 - 揮發性++
- 22. 問題揮發性表
- 23. 揮發性EquivalenceClass沒有sortref
- 24. 揮發性數據Solr中
- 25. 實現與不揮發性
- 26. 揮發性和const指針
- 27. 揮發性jls示例
- 28. 屬性與揮發或鎖
- 29. String [] to uint32 c#
- 30. 揮發性陣列的奇怪行爲
不應該是「指向'UINT32'的易失性指針」嗎? –
@PhilippMatthiasSchäfer不,那會是'UINT32 * volatile',這是非常罕見的。例如,請參見[本頁](http://www.barrgroup.com/Embedded-Systems/How-To/C-Volatile-Keyword)。 – unwind
@unwind ..謝謝你的好回答! – Fagun