ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
24 апреля
992801 Топик полностью
LightElf (08.04.2020 02:37, просмотров: 685) ответил fk0 на Сериализация руками. Вообще адский говнокод, очевидно же, хотя бы из-за ендианности. Хотя ты конечно выкрутился и int32 у тебя оказался случайно выровненный. Но если развивать мысль дальше, то и без прагм оно точно так же разложит. Спрашивается, зачем "упакованная" структура?
Но зачем делать руками работу компилятора и/или железа? Эндианность, очевидно, в IP пакете фиксирована. А в коде, очевидно, используются стандартные HTONL()/htonl() сотоварищи. Без прагм, в зависимости от компилятора и целевой платформы, может разложиться весьма по-разному. С прагмами - единственным определенным образом. И почему это "случайно выровненный int32"? Вполне себе не случайно, а вовсе даже прописано в спецификации на драйвер канального уровня. Для 

большинства ethernet-контроллеров это достигается легко и непринужденно аппаратными средствами.

Не надо делать мне как лучше, оставьте мне как хорошо