Size: a a a

2021 March 31

OB

Oleg B in dlang.ru
Dark Hole
Тебе придётся прописать import сначала.
тут вроде не только про D разговор, а концептуально
источник

DH

Dark Hole in dlang.ru
Oleg B
тут вроде не только про D разговор, а концептуально
Тогда я вообще не понял. Концептуально если мы не импортируем, то разрулить невозможно.
источник

OB

Oleg B in dlang.ru
Egor Pugin
ну он по инклюду понимает, что вот этот путь из -ipackage mylib1-0.0.1, а другой путь из -ipackage mylib2-1.2.3.
т.е. по сути выйти за пределы языка уже не получится?
например прилинковать что-то просто так, объявив сигнатуру просто
источник

EP

Egor Pugin in dlang.ru
Oleg B
т.е. по сути выйти за пределы языка уже не получится?
например прилинковать что-то просто так, объявив сигнатуру просто
через старые механизмы
источник

OB

Oleg B in dlang.ru
Dark Hole
Тогда я вообще не понял. Концептуально если мы не импортируем, то разрулить невозможно.
в C/C++ вызовы D-шного рантайма как прокидываются?
просто пишется сигнатура с extern "C" и дальше используется, а при линковке уже находятся эти символы
источник

EP

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

EP

Egor Pugin in dlang.ru
старое при этом не нарушается
источник

EP

Egor Pugin in dlang.ru
остальное*
источник

EP

Egor Pugin in dlang.ru
Oleg B
в C/C++ вызовы D-шного рантайма как прокидываются?
просто пишется сигнатура с extern "C" и дальше используется, а при линковке уже находятся эти символы
ну это через сишное аби, получается?
источник

OB

Oleg B in dlang.ru
Egor Pugin
ну это через сишное аби, получается?
ну да
источник

EP

Egor Pugin in dlang.ru
тут также можно придумать небольшие расширения
источник

OB

Oleg B in dlang.ru
Egor Pugin
мы же просто точнено добавили -ipackage, через него работает так, как описано
а вообще по итогу это всё призвано решить проблему конфликтов при ромбовидных зависимостях, так?
источник

EP

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

EP

Egor Pugin in dlang.ru
или более точно - хотим линковаться с разными версиями одной либы
источник

OB

Oleg B in dlang.ru
не создаст ли это проблему дублирования кода и конфликтов при исполнении?
источник

EP

Egor Pugin in dlang.ru
даже не надо ромб придумывать, мы просто пишем -ipackage mylib-1 -ipackage mylib-2
источник

OB

Oleg B in dlang.ru
может всё-таки не нужно хотеть линковаться с разными версиями одной либы?
источник

DH

Dark Hole in dlang.ru
Oleg B
в C/C++ вызовы D-шного рантайма как прокидываются?
просто пишется сигнатура с extern "C" и дальше используется, а при линковке уже находятся эти символы
C/C++ ABI не получится версионировать, что я выше и писал.
источник

EP

Egor Pugin in dlang.ru
Oleg B
не создаст ли это проблему дублирования кода и конфликтов при исполнении?
не должно
источник

EP

Egor Pugin in dlang.ru
Oleg B
может всё-таки не нужно хотеть линковаться с разными версиями одной либы?
оно может вылезти, если много зависимостей притащим. Где-нибудь внутри будет запрос к либе1-1 и в другом месте к либе1-2
источник