Пока стабильного ABI не завезли, большого смысла переписывать готовые системные либы нет. А вот когда завезут, тогда определенно будет. Папралельно с сишными символами экспортировать из dll-ки бохатые растоабстракции
Deleted ()
Последнее исправление: Deleted
(всего
исправлений: 1)
В Расте все вкомпиливают в бинарь. Как-то это сходило с рук пока-что, даже со всякими большими вещами вроде Tokio. Надо бы исследовать, стоит ли игра свеч с этими shared библиотеками, или проблем можно решить по другому. Вполне может оказаться что все это пришло с эпохи флоппи дисков. Для остального хватит dbus и opengl
Ну есть всеобщая вера в то, что shared библиотеки решают проблему потребления памяти и диска. Но вместо того, лучше не принимать это на веру и говорить о каких размерах речь. И окажется вполне возможно что вопрос в мегабайтах.
Насчет того что мол графический тулкит должен быть одной версии чтобы все работало, так он просто сам должен вести себя прилично и просто нормально рендерить тему. Вне зависимости от минорной версии библиотеки вшитой в бинарный файл.
А если это прямо мажорные версии, так и с shared библиотеками они не совместимы.
Я к тому что нужно зрить в корень и помнить какую проблему мы решаем, а не титаническими усилиями делать как диды
Кстати, слака, Flatpack, AppImage, snapd, docker, Go - все гоняют жирноблобы со всем что нужно и ничего, все живы. Максимум там во Flatpack что-то дергаются по поводу Platform. Вот такой тренд. Никто не хочет ввязываться в это дерьмо с so
Я бы вот совсем не против Васи на десктопе. При установке пусть верифицируется, собирается в натив под конкретный проц и гоняется в нативном сендбоксе. На андроиде уже много лет так, только с джавой.
С динамической линковкой выявился один нюанс. Линковать можно, но нужно чтобы и либа, и приложение использовали один и тот же алокатор памяти. А так вполне работает при еще одном условии, что и либа, и приложение собраны одной версией rustc, хотя подозреваю, что бинарное представление данных слабо меняется от версии к версии.
То есть, алокаторы в расте вшиваются в либу и приложение отдельно. В си и плюсах было бы по-другому.
Если используется сишное ABI, то тогда, конечно, без разницы, какой там алокатор. Я про то, чтобы через динамическую либу выставлять растовские абстракции.
Не использую /просто необходимости нет/.
C++ использую только в то случае если мне нужен какой-то, отсутствующий где либо API + свои велосипеды.
К примеру для работы с mxl 1С пришлось разработать API, ...
Вот как раз таки для VC6 никакой рантайм не нужен. Он есть в составе самого оффтопика.
Да может быть и так.
Использовал все версии Visual Studio.
Остановился на 13-й.
Хватает на все 100%, а гонку за стандартами пусть используют «теоретики».
Кстати, слака, Flatpack, AppImage, snapd, docker, Go - все гоняют жирноблобы со всем что нужно
Зачем ты все это в кучу свалил? Релевантно здесь только го, но на нем пишут микросервисы, там разумно иметь самодостаточный микроблоб. На расте пишут пока хелловорлды, и то уже огребают проблемы с долгой компиляцией. Как вы собираетесь делать системные либы без so неясно. Хотя ясно, что вы не собираетесь. Это очередной говноклей.