Size: a a a

2020 April 27

EG

Emmanuel Goldstein in rust_offtopic
Не гарантируется совместимость между версиями
источник

SP

Stanislav Popov in rust_offtopic
polunin.ai
мда
а было 3300
@enomad чет грустно совсем
увидел вчера тоже охуел
источник

p

polunin.ai in rust_offtopic
Alex Zhukovsky
в чем разница между dylib и cdylib?
ну вот я тоже не знаю
источник

p

polunin.ai in rust_offtopic
у второго какой-то интероп с сишкой вроде
источник

SP

Stanislav Popov in rust_offtopic
polunin.ai
хех, люди не могут понять что такое оператор .? в си шарпе, а ты @enomad спрашиваешь как можно не понимать что ФП топ
вероятно то же что и в тс хехе
источник

EG

Emmanuel Goldstein in rust_offtopic
cdylib это динамическая библиотека с C ABI
источник

EG

Emmanuel Goldstein in rust_offtopic
dylib это динамическая библиотека с Rust ABI
источник

EG

Emmanuel Goldstein in rust_offtopic
Последний нестабилен, но сохраняется при одинаковом сочетании платформы и версии компилятора, казалось бы
источник

EG

Emmanuel Goldstein in rust_offtopic
Если бы ABI не сохранялся внутри компилятора, то нельзя было бы линковать вместе несколько rlib
источник

EG

Emmanuel Goldstein in rust_offtopic
И уж точно не работал бы sccache, он же переиспользует артефакты билда
источник

AZ

Alex Zhukovsky in rust_offtopic
polunin.ai
ну вот я тоже не знаю
вероятно разница именно в том что @emmanuelGoldstein говорит
источник

AZ

Alex Zhukovsky in rust_offtopic
что дилиб разрешает динамически линковать растовый код
источник

AZ

Alex Zhukovsky in rust_offtopic
Stanislav Popov
вероятно то же что и в тс хехе
да лан, жили с ((foo.a || {}).b || {}).c, и дальше поживем
источник

EG

Emmanuel Goldstein in rust_offtopic
Соответственно, можно пробовать делать/генерировать две версии библиотеки: через #[repr(C)] и с нативным ABI, и проверять версию компилятора при линковке.
источник

EG

Emmanuel Goldstein in rust_offtopic
Если ABI одинаковый, то использовать быструю нативную версию, а если разный — то медленную с конвертацией в `#[repr(C)]`-типы
источник

AZ

Alex Zhukovsky in rust_offtopic
Emmanuel Goldstein
Если ABI одинаковый, то использовать быструю нативную версию, а если разный — то медленную с конвертацией в `#[repr(C)]`-типы
а почему нельзя на уровне сорцов все делать как это щас везде принято в расте?
источник

EG

Emmanuel Goldstein in rust_offtopic
Alex Zhukovsky
а почему нельзя на уровне сорцов все делать как это щас везде принято в расте?
Потому что это совершенно невалидно для ЯП.
источник

AZ

Alex Zhukovsky in rust_offtopic
Emmanuel Goldstein
Потому что это совершенно невалидно для ЯП.
что невалидно?
источник

EG

Emmanuel Goldstein in rust_offtopic
Если я хочу, чтобы можно было в моём ЯП писать модули на Rust, то я точно не хочу, чтобы для каждого модуля нужно было перекомпилировать компилятор.
источник

EG

Emmanuel Goldstein in rust_offtopic
Это жесть
источник