Имеется такой кусок программы на си:
        struct REGS_BLOCK
        {
                unsigned char P __attribute__ ((packed)),
                              A __attribute__ ((packed)),
                              Y __attribute__ ((packed)),
                              X __attribute__ ((packed)),
                              S __attribute__ ((packed)),
                              PCh __attribute__ ((packed)),
                              PCl __attribute__ ((packed));
        } Snap;предупреждение: атрибут ‘packed’ для поля типа ‘unsigned char’ проигнорированВозникло 3 вопроса:
1. Как по-вашему, что имел в виду автор программы? Чтобы все эти 1-байтные переменные шли подряд, без зазоров?
2. Правильно ли будет заменить этот фрагмент на
struct REGS_BLOCK
{
unsigned char P, A, Y, X, S, PCh, PCl;
} Snap __attribute__ ((packed);3. Во всех ли компиляторах будут правильно работать 1-й и 2-ой варианты?



