Величина SizeOfDelphi , Синтаксис , Типы и ПеременныеВеличина SizeOfАвтор: Dennis Passmore В Delphi 2.0 при использовании функции sizeof для моей записи:
sizeof (format_name) возвращает 9 sizeof(f_format) возвращает 14 ; Почему это не возвращает 13 ?????? Вам необходимо выключить опцию компилятора 'the Align Record Fields' (выравнивание полей записи). Here's the translation into Russian: Классическая проблема! В Delphi, когда вы используете тип В вашем случае, рекорд Когда вы используете оператор
Однако, когда вы используете оператор Почему-то компилятор добавил дополнительный байт padding между полем Чтобы отключить эту функцию выравнивания записи, вы можете использовать опцию
Это предотвратит компилятор от добавления padding-байт и уменьшит общую длину записи. Альтернативно, вы можете использовать ключевое слово
Используя Таким образом, дополнительный байт padding добавляется по умолчанию из-за выравнивания записи, которое можно отключить с помощью опции В статье рассматривается поведение функции SizeOf в Delphi 2.0 при использовании с рекордом, и автору неожиданно возвращается значение 14 для sizeof(f_format) вместо ожидаемого 13, что объясняется выравниванием полей записи. Комментарии и вопросыМатериалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Типы и Переменные ::
|
|||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |