![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() ![]() |
![]() |
sheka |
![]()
Сообщение
#1
|
![]() Я. ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: ![]() ![]() ![]() |
Интересное кино:
const Выдает такой результат: Running "d:\prog\pas\1.exe " При чем когда c: longint; закомментировано, то результат правильный: размер = k+1; |
IUnknown |
![]()
Сообщение
#2
|
![]() a.k.a. volvo877 ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: ![]() ![]() ![]() |
Ничего интересного не вижу...
typeи все становится на свои места. |
sheka |
![]()
Сообщение
#3
|
![]() Я. ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: ![]() ![]() ![]() |
Без packed размеры каждого поля подгоняются под 4/8 байт?
|
IUnknown |
![]()
Сообщение
#4
|
![]() a.k.a. volvo877 ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: ![]() ![]() ![]() |
По умолчанию работает режим {$PACKRECORDS DEFAULT}, что соответствует {$PACKRECORDS 4} (несмотря на заверения prog.pdf параграф 1.1.58, что дефолтное значение равно 2)
Update Так... Со значением PACKRECORDS DEFAULT все в порядке. Дело в другом: в FPC 2.1.1 появился ключ {$CODEALIGN}, параметр которого принимается во внимание при выравнивании полей записи. Так вот его дефолтное значение как раз говорит, что поле типа SmallInt Будет выровнено на 2 байта, LongInt - на 4, а Int64 - на 8. Что и происходит в твоем случае, без указания packed... Сообщение отредактировано: IUnknown - 19.06.2011 9:12 |
![]() ![]() |
![]() |
Текстовая версия | 27.07.2025 3:32 |