Size: a a a

2020 March 30

GB

George Bakhtadze in Delphi & Lazarus
разве в дотнете есть?
источник

AK

Alexey Kulakov in Delphi & Lazarus
понятия не имею!
источник

GB

George Bakhtadze in Delphi & Lazarus
в жаве такое не импортнуть например
источник

AK

Alexey Kulakov in Delphi & Lazarus
источник

AK

Alexey Kulakov in Delphi & Lazarus
ах да, забыл... надо ж будет packed record делать, видимо
источник

AK

Alexey Kulakov in Delphi & Lazarus
пфффффф
источник

AK

Alexey Kulakov in Delphi & Lazarus
тогда и тип вариантного "индекса" пофиг какой, хоть байт :(
источник

AK

Alexey Kulakov in Delphi & Lazarus
...ладно, видимо, всё же придется отказаться от этой идеи объединения. а жалко!
источник

GB

George Bakhtadze in Delphi & Lazarus
Alexey Kulakov
тогда и тип вариантного "индекса" пофиг какой, хоть байт :(
по-моему от типа индекса ровным счетом ничего не зависит
источник

AK

Alexey Kulakov in Delphi & Lazarus
размер структуры :) в т.ч. за счёт выравнивания полей
источник

GB

George Bakhtadze in Delphi & Lazarus
Alexey Kulakov
ах да, забыл... надо ж будет packed record делать, видимо
не факт, может наоборот, надо чтоб выравненые поля были. тестить надо. вслепую не заработает скорее всего
источник

AK

Alexey Kulakov in Delphi & Lazarus
так вот тут и ещё один вопрос, этот, и остаётся. если НЕвыравненные - это в памяти везде одинаково будет. а выравнивание - хз как в другой системе будет реализовано.
источник

AK

Alexey Kulakov in Delphi & Lazarus
и ладно если 32 да 64 бита только, а если в настройках компилятора где-то 2, а где-то 4 стоит?
источник

GB

George Bakhtadze in Delphi & Lazarus
Alexey Kulakov
размер структуры :) в т.ч. за счёт выравнивания полей
ах да, все время забываю, что это доп. поле
источник

AK

Alexey Kulakov in Delphi & Lazarus
ну, в моём случае - это доп.поле. если только тип указывать, без имени - место занимать не будет
источник

GB

George Bakhtadze in Delphi & Lazarus
Alexey Kulakov
ну, в моём случае - это доп.поле. если только тип указывать, без имени - место занимать не будет
ну да. я такому коду удивился в свое время, когда парсер тестил
источник

AK

Alexey Kulakov in Delphi & Lazarus
остаётся пока такой вариант, значит?
  TTL2Node = record
   l       :int64;
   d       :double;
   name    :pchar;
   s       :pchar;
   parent  :PTL2Node;
   children:PATL2Node;
   i       :int32;
   u       :uint32;
   f       :single;
   nodetype:byte;
   b       :bytebool;
 end;
источник

AK

Alexey Kulakov in Delphi & Lazarus
отвратительно! :( группировка по смыслу пропадает
источник

AK

Alexey Kulakov in Delphi & Lazarus
впрочем, т.к размер не кратный даже 4 байтам, при использовании в массиве могут быть проблемы, если компилятор будет выравнивать размер ВСЕЙ структуры, а не отдельных полей
источник

AK

Alexey Kulakov in Delphi & Lazarus
видимо, придётся с Сишниками (потенциальными пользователями) говорить, ка это у них будет выглядеть
источник