LINUX.ORG.RU

История изменений

Исправление SZT, (текущая версия) :

Лишняя память на const глобальную переменную может потратиться, линкер может не вычистить. Можно генерить макросом функцию с атрибутом always_inline внутри которой объявляется вариант структуры с атрибутом packed и чтобы эта функция тупо возвращала ее размер. Компилятор такую функцию соптимизирует так, что в месте ее вызова просто подставится размер, и самой «функции» в бинарнике вообще не будет

Исходная версия SZT, :

Лишняя память на const глобальную переменную может потратиться, линкер может не вычистить. Можно генерить макросом функцию с атрибутом always_inline внутри которой объявляется вариант структуры с атрибутом packed и чтобы эта функция тупо возвращала ее размер. Компилятор такую функцию соптимизирует так, что она просто вернет размер