В какой степени Itanium ABI действительно определяет отступы и выравнивание?

мне сказали:

[ABI] гарантируют точное расположение структуры, байтовое смещение каждого члена, какие биты используются для битовых полей, где и сколько там заполнения и т. Д.

Но я'Мы всегда верили, что отступы и выравнивание не определены и ненадежны.

Есть лиItanium ABI (который использует GCC) на самом деле указать эти вещи (насколько я могу сказать,это некажется за пределами указанных диапазонов)?

И если это так, как варианты, как__attribute__ ((packed)) вписаться в это? В конечном счете они нарушают ABI, изменяя выравнивание вещей?

Или, как следует из цитаты, упаковка просто не определена между наборами инструментов, но на самом деле надежна ипредсказуемый в рамках использования определенного ABI? А потом опять как то как то__attribute__ ((packed)) вписаться в это?

Ответы на вопрос(2)

Ваш ответ на вопрос