Size: a a a

2020 April 03

RS

Renat Suleymanov in Delphi & Lazarus
Alexey Kulakov
забавно...в следующей структуре, если nodetype:byte, в программе получается код меньше по размеру, чем для integer или word
  TTL2Node = record
   name  : PWideChar;
   parent: PTL2Node;
   case nodetype:integer of
     ntGroup    : (
       children  : PATL2Node;
       childcount: word;
     );
     ntBool     : (b:bytebool);
     ntNote,
     ntTranslate,
     ntString   : (s:PWideChar);
     ntInteger  : (i:int32);
     ntUnsigned : (u:uint32);
     ntInteger64: (l:int64);
     ntFloat    : (f:single);
     ntDouble   : (d:double);
     ntWord     : (w:word);
     ntByte     : (c:byte);
     ntBinary   : (len:uint32);
 end;
Че-то не понял. Размер записи будет одинаков в независимости от case notetype
источник

AK

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

DB

Dmitry Belkevich in Delphi & Lazarus
George Bakhtadze
кстати вот, сам говоришь, что одна только функция нужна, а приходится со всей здоровенной opencv иметь дело.
но вообще dll, особенно под виндой это отдельный вопрос с отдельной кучей проблем. потому лучше без них, если возможно
просто вот говорят, что в питоне это отлично. а в делфе это плохо и топят за максимальную дедупликацию. как-то вот двойные стандарты
источник

AK

Alexey Kulakov in Delphi & Lazarus
просто балуюсь я с рефакторингами всякими.
источник

RS

Renat Suleymanov in Delphi & Lazarus
Alexey Kulakov
в данном случае - да, т.к. запись непакованная.
Упакованная скорее будет меньше, но опять таки не будет зависеть от case. Или я не так понял тебя
источник

AK

Alexey Kulakov in Delphi & Lazarus
да я ж говорю, тут из академического интереса исследую всякое. вот, глюк FPC компилятора сегодня обнаружил, уже багрепорт написал
источник

DB

Dmitry Belkevich in Delphi & Lazarus
Alexey Kulakov
забавно...в следующей структуре, если nodetype:byte, в программе получается код меньше по размеру, чем для integer или word
  TTL2Node = record
   name  : PWideChar;
   parent: PTL2Node;
   case nodetype:integer of
     ntGroup    : (
       children  : PATL2Node;
       childcount: word;
     );
     ntBool     : (b:bytebool);
     ntNote,
     ntTranslate,
     ntString   : (s:PWideChar);
     ntInteger  : (i:int32);
     ntUnsigned : (u:uint32);
     ntInteger64: (l:int64);
     ntFloat    : (f:single);
     ntDouble   : (d:double);
     ntWord     : (w:word);
     ntByte     : (c:byte);
     ntBinary   : (len:uint32);
 end;
что значит 'код меньше'?
источник

DB

Dmitry Belkevich in Delphi & Lazarus
sizeof меньше или что? ну это как бы совсем не код )
источник

AK

Alexey Kulakov in Delphi & Lazarus
не размер структуры, а размер программы
источник

DB

Dmitry Belkevich in Delphi & Lazarus
так то если не пакованная запись - то да, возможно баг
источник

AK

Alexey Kulakov in Delphi & Lazarus
в данном варианте, думаю, сама структура будет постоянная
источник

AK

Alexey Kulakov in Delphi & Lazarus
надеюсь
источник

DB

Dmitry Belkevich in Delphi & Lazarus
ну так какой это баг? :)
источник

GB

George Bakhtadze in Delphi & Lazarus
Dmitry Belkevich
просто вот говорят, что в питоне это отлично. а в делфе это плохо и топят за максимальную дедупликацию. как-то вот двойные стандарты
в питоне отлично то, что там есть pip, который менеджит зависимости. а то, что с opencv (которая не питоновская либа кстати) проблемы, это не отлично
источник

DB

Dmitry Belkevich in Delphi & Lazarus
либа не питоновская. но проблемы питоновские )
источник

GB

George Bakhtadze in Delphi & Lazarus
Alexey Kulakov
не размер структуры, а размер программы
он может чуть отличаться за счет того, что инструкции для доступа к байту короче, чем для доступа к dword'у
источник

AK

Alexey Kulakov in Delphi & Lazarus
в курсе
источник

AK

Alexey Kulakov in Delphi & Lazarus
(полез проверять int64 и компиляцию под 64 бита)
источник

AK

Alexey Kulakov in Delphi & Lazarus
в 64 битах код для байта вышел больше, чем для integer
источник

S

Serjone in Delphi & Lazarus
Vitaly Orz.
Мне нужно сдать данные по сети данные это просто строки но без  применентя сервера http раньше я делал это компонентом socket нл я не помню где я его брал за давностью лет
в фмх с сокетами беда. Если есть возможность сделать на хттп, лучше делать на нём. Там просто всё.
источник