История изменений
Исправление 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 - одинаковый.