From fbe0c5a8d6e51786a21d41fe63fbd2c6f863ef5e Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Sat, 6 Feb 2016 14:21:37 +0300 Subject: [PATCH] =?utf8?q?=D0=92=D1=8B=D1=80=D0=B0=D0=B2=D0=BD=D0=B8=D0=B2?= =?utf8?q?=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=B2=20Go?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Так как на C никогда серьёзно не программировал, то и не встречался с такой штукой как alignment. В Go только сегодня впервые встретился с этим явлением: в sync/atomic библиотеке надо самостоятельно делать выравнивание полей в структурах если нужно работать с ними через atomic вызовы на 32-х битных системах. То есть, например: struct Foo { bar *somepointer baz int64 } вызовет панику при попытке atomic.AddInt64(&(f *Foo).baz), но если переставить местами bar и baz внутри структуры, то всё будет работать. На 64-бит ничего этого не надо. -- 2.50.0