2012-03-12 31 views
1

當2個進程通過共享存儲器在32位進行通信的solaris i386的拱uint64_t中在32位機寫入

  1. 能夠保證所有的用於uint64_t中的數據類型的值,(值< 2^32)被寫入在單個內存位置和(值> 2^32)寫入2個內存位置?
  2. 32位內存讀取是否是原子。
+0

你具體問什麼保證32位Solaris提供在i386?或者這是一個關於在C++中的32位平臺上的64位操作的通用問題? – 2016-10-05 18:32:21

回答

3

64位值總是寫入64位內存! 寫入幾乎肯定不是原子的(除非架構明確保證這一點)。


1.除,當然,當它不是在所有寫入存儲器(的即當沒有register spill。但是,這是題外話。