В c/C++, как упорядочивание переменных с разными типами данных влияет на размер кода?Типы данных - порядок и размер кода
Пример, который я видел, включает 4 структуры с 4 переменными. Переменные были типа int, char, float и BYTE; каждая из структур имела одинаковое количество переменных (т. е. 4) и была названа одинаковой в каждой структуре. Единственным отличием был порядок переменных.
Я понимаю, что integer, char и float имеют разные размеры (т. Е. Int 4 байта и т. Д.), Но как макет этих типов влияет на размер кода.
Заранее благодарен!
Вы имеете в виду размер исполняемого файла или размер структуры в памяти? – mkb
это из-за прокладки .... структура дополняется, чтобы оптимизировать чтение ... так как чтение всегда 4 байта (32-битная система) ... поэтому он пытается оптимизировать, добавляя некоторые дополнения ... вы можете удалить дополнение с помощью макроса #pragma (но лучше всего выровнять ваши элементы так, чтобы отступы были как можно меньше) ... –
@ mkb В примере указан только наименьший размер кода? – user1167501