Цитата(a9d @ Sep 10 2013, 00:43)

Макрос об этом не заботился, за ним скрывается struct.
Этот макрос должен писать не автор библиотеки, а тот, кто её портирует на свою архитектуру. Вот кто этот макрос написал, того и спрашивайте, почему он такой. Вполне возможно, что он решил не париться и просто глобально выключить выравнивание структур. Или у него была 8-битная архитектура.
Цитата(a9d @ Sep 10 2013, 00:43)

Скорость и размер не особо важны.
Тогда просто продолжайте использовать глобальную прагму pack(1). Для удобства её можно вынести в отдельный файл и включать его в каждый компилируемый файл при помощи опции компилятора --preinclude.
Оставьте разборки с выравниванием тому, кому по понадобится оптимизировать эту библиотеку.