LINUX.ORG.RU

История изменений

Исправление alysnix, (текущая версия) :

Да, я согласен с тем, что инициатива интеерсная, но в сишечке нереализуемая, поскольку кто-то кастанет твой char * в int * — и привет.

не проверял, но сто пудов что в

union {
  uint8 _byte;
  uint64 _word64;
}

тут юнион будет выравниваться по наихудшему варианту, то есть как uint64, размер юниона - 8 байт. и адрес полей и _byte и _word64 - одинаковый.

Исходная версия alysnix, :

Да, я согласен с тем, что инициатива интеерсная, но в сишечке нереализуемая, поскольку кто-то кастанет твой char * в int * — и привет.

не проверял, но сто пудов что в

union {
  uint8 _byte;
  uint64 _word64;
}

_byte и _word64 выравниваются по ниахудшему варианту, то есть как uint64, размер юниона - 8 байт. и адрес полей и _byte и _word64 - одинаковый.