uint64_t пишет в 32-битной машине - PullRequest
1 голос
/ 12 марта 2012

Когда 2 процесса обмениваются данными через разделяемую память на 32-битном Solaris i386 Arch

  1. Гарантируется ли, что для значения типа данных uint64_t ( значение <2 ^ 32 </strong>) записывается в одну ячейку памяти, а ( значение> 2 ^ 32 ) записывается в 2 ячейки памяти?
  2. Является ли чтение 32-битной памяти атомарным ??1010*

1 Ответ

3 голосов
/ 12 марта 2012

64-битное значение всегда записывается в 64-битную память! 1 Запись почти наверняка не является атомарной (если архитектура явно не гарантирует это).


1. За исключением, конечно, когда он вообще не записывается в память (то есть, когда нет разливов регистра . Но это не относится к делу.
...