Size: a a a

2021 May 26

Т

Тающий звук... in dlang.ru
Мне только один смысл от этого приходит на ум
источник

DH

Dark Hole in dlang.ru
Согласен
источник

DH

Dark Hole in dlang.ru
Это масонский заговор
источник

Т

Тающий звук... in dlang.ru
Они могли упорядочить данные в структуре по размеру типа в порядке убывания
источник

Т

Тающий звук... in dlang.ru
Тогда структуру можно выровнять в памяти по границе самого большого типа и все данные лягут так, что они будут выровнены в соответствии со своими типами
источник
2021 May 27

EP

Egor Pugin in dlang.ru
там в одной и той же порядок не гарантируется
источник

DP

Dmitry Popov in dlang.ru
Чота не верится. У них же раздельная компиляция и стабильные ABI в почете.
источник

DH

Dark Hole in dlang.ru
источник

EP

Egor Pugin in dlang.ru
источник

DP

Dmitry Popov in dlang.ru
Там говорят, что у каждого типа есть какая-то репрезентация. Дефолтная не обещает ничего конкретного, но она одна, фиксированная (the rust representation). Компилируя программу по частям/модулям, модули будут опираться на одну и ту же репрезентацию одного типа. Но что поля там могут идти не в том порядке, как в исходнике, это запросто. Ничего в этом плохого нету.
источник

EP

Egor Pugin in dlang.ru
ну да, один модуль собрал версией Х, другой Х+1, порядок поменялся, всё отвалилось
источник

DP

Dmitry Popov in dlang.ru
Пересобрал и поехал дальше, делов-то. :)
источник

DP

Dmitry Popov in dlang.ru
Зато может версия Х+1 вдвое быстрее за счет более эффективного расположения
источник

DP

Dmitry Popov in dlang.ru
По-моему, в мире С++ и D давно норма, что весь проект надо собирать одной версией компилятора.
источник

EP

Egor Pugin in dlang.ru
по-моему у нас много дллок без кода, но которые работают до сих пор без пересборок
источник

DP

Dmitry Popov in dlang.ru
Там поди extern C
источник

DP

Dmitry Popov in dlang.ru
С подобной пометкой и растовые структуры приобретают гарантии и стабильность по расположению
источник

0

000Sanya in dlang.ru
Так а кроме extern C есть что то другое, что работает гарантированно?
источник

0

000Sanya in dlang.ru
У плюсов аби вроде только в пределах одного компилятора
источник

0

000Sanya in dlang.ru
Да и смысл, если в большинстве языков есть активно юзаемые шаблоны/генерики, которые в dll не вытащишь
источник