169 похожих чатов

Зашёл почитать о 12 и забрело меня по ссылкам разным.

Не могу понять - разве массив - он и так не упакован плотно элементами друг к другу? 🤷‍♂️

https://docwiki.embarcadero.com/RADStudio/Athens/en/Structured_Types_(Delphi)

30 ответов

38 просмотров

давайте я вам тут еще слегка накину ) type t = packed array of integer; t2 = packed class end; t3 = packed object end;

notme- Автор вопроса
Handatros
давайте я вам тут еще слегка накину ) type t = p...

t2 и t3 понятно - тоже что и со структурами, а вот с массивом не понятно зОчем?!

notme
t2 и t3 понятно - тоже что и со структурами, а вот...

вот что пишут интернеты: Arrays are aligned according to the alignment of the array’s base type

Handatros
вот что пишут интернеты: Arrays are aligned accor...

то есть выравнивание существует и в массивах. и вот упаковка убирает её как я понимаю

notme- Автор вопроса
Handatros
то есть выравнивание существует и в массивах. и во...

выравнивание по базовому типу - т.е. по самому они упакованы один к одному без промежутков нечего там убирать то... 🤷‍♂️

notme
выравнивание по базовому типу - т.е. по самому они...

вот не понятно. вроде массивы уже и так упакованы

notme- Автор вопроса
Handatros
вот что пишут интернеты: Arrays are aligned accor...

в той справке что была в оригинале на скрине, говорилось про выравнивание на слово либо двойное слово

Handatros
вот не понятно. вроде массивы уже и так упакованы

если массив рекордов размером 3 байта, видимо, будет выравнивание на границу 4 байт для каждого элемента

notme
выравнивание по базовому типу - т.е. по самому они...

как насчет массива из record d: double; b:bool end

notme- Автор вопроса
Boris Usievich
как насчет массива из record d: double; b:bool end

тэкс, к массиву рекордов вопросов нет я именно про пример в справке - нафига там пример такой странный, ну тупо же упаковывать массив Real'ов

Alexey Kulakov
если массив рекордов размером 3 байта, видимо, б...

увы t4 = packed record arr: array[0..2] of byte; end; t = array[0..1] of t4; SizeOf(t) = 6. что с пакет(t), что без

notme
тэкс, к массиву рекордов вопросов нет я именно про...

судя по real этот кусок написали во времена turbo pascal

notme- Автор вопроса
Boris Usievich
судя по real этот кусок написали во времена turbo ...

а раньше Real был не элементарным типом? а структурой\объектом?

notme- Автор вопроса
Handatros
увы t4 = packed record arr: array[0..2] of byt...

без packed где? в структуре или массиве?

notme- Автор вопроса
Handatros
в массиве. я там пометил

ну так структура с packed - всё логично, будет 6 байт

notme- Автор вопроса
Boris Usievich
раньше real был 6 байт софт-флоат

ну короче раньше он компилятором выравнивался и если объявили array [0..5] of Real то указателем уже просто не пробежишься, а только с учётом того что там есть gap'ы ?

в общем размер = 6 байт с любой комбинацией packed или без них вообще

Handatros
screenshot

Ну так тут и не выровняешь, вроде как

Hemul GM
Ну так тут и не выровняешь, вроде как

t4 = record b1: byte; b2: byte; b3: byte; end; во так сделал, опять 6 😂

Hemul GM
Замени на Boolean

6 что за нах? )

Handatros
6 что за нах? )

Ну, потому что Boolean занимает 1 байт

Handatros
t4 = record b1: byte; b2: byte; b3: byte; ...

{$A-} или {$ALIGN OFF} - эт как аналог #pragma pack(1)

Похожие вопросы

Обсуждают сегодня

здравствуйте. совершаю вот такую вещь: strcpy(line, (char)current_number); где current number — неподписанный шорт, line — массив чаров. ругань следующая: main.c:29:30: error...
Roberto's Ширгозиев
13
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
Можно попросить небольшое ревью кода? Тут немнога, я ничего интереснее не придумал, чем написать аналог tree в качестве практики с cmake. https://github.com/hrimov/tree-unix/...
Andrew Hrimov
11
Всем привет. Ребят подскажите пожалуйста. Вопрос по дизасемблировани. Начну с начала. У меня есть скомпилированная программа на ГО (я разработчик) - в ней есть защита лицензии...
Zloy
11
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
кто тебе сказал, что она угроблена? многие только начинают жизнь, после увольнения из Гугла, Майкрософта, Оракла,...
Alex Kom
9
В альтернативе у нас сидеть горбатиться на дядю в галерах, пока не помрешь или пока тебя не заменят более молодым сотрудником, который готов гребсти в два раза дешевле. Вот и ...
Кабан Кабанов
7
все привет. подскажите может кто сталкивался evo 3 если в formlister в параметр formTpl указать имя чанка а не через @CODE то в указанном чанке не парсятся плейсхолдеры [**]? ...
Иван Тарасевич
5
Карта сайта