[О блоге]
[наверх]
[пред]
[2016-02-06 14:21:37+03:00]
[fbe0c5a8d6e51786a21d41fe63fbd2c6f863ef5e]
Темы: [go][tip]
Выравнивание в Go
Так как на C никогда серьёзно не программировал, то и не встречался с
такой штукой как alignment. В Go только сегодня впервые встретился с
этим явлением: в sync/atomic библиотеке надо самостоятельно делать
выравнивание полей в структурах если нужно работать с ними через atomic
вызовы на 32-х битных системах.
То есть, например:
struct Foo {
bar *somepointer
baz int64
}
вызовет панику при попытке atomic.AddInt64(&(f *Foo).baz), но если
переставить местами bar и baz внутри структуры, то всё будет работать.
На 64-бит ничего этого не надо.
[оставить комментарий]